Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro nur in bestimmter Datei ausführen

Makro nur in bestimmter Datei ausführen
10.05.2017 14:26:17
Ulquiorra
Hallo liebe Community,
ich habe in einer Zeiterfassungs-Datei ein auto_Open-Makro programmiert, welches u.a. dafür sorgt, dass sich diese Datei jede Minute aktualisiert.
Das Problem ist, dass dieses Makro im Hintergrund weiterläuft, trotz das die Datei in der es sich befindet bereits geschlossen ist. D.h.: Schließe ich die Zeiterfassungs-Datei, habe aber noch andere Excel-Dateien offen, so öffnet sich die Zeiterfassungs-Datei nach einer Minute (bzw. bei Aktualisierung) wieder von selbst.
Mein Quellcode sieht wie folgt aus:
Sub auto_Open()
Worksheets("Zeiterfassung").Range("Q23") = Environ("UserName")
MsgBox "Guten Morgen! :)"
If ActiveWorkbook.Name  "Zeiterfassung_fertig_4.3_Makro.xlsm" Then Exit Sub
Application.OnTime Now + TimeValue("00:00:01"), "a"
End Sub

______________________________________________________________________________
Sub a()
Calculate
Application.OnTime Now + TimeValue("00:01:00"), "a"
End Sub
Hat jemand eine Lösung, wie ich dieses Problem umgehen kann?
Vielen Dank im Voraus! :)

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro nur in bestimmter Datei ausführen
10.05.2017 14:36:26
Daniel
Hi
du musst beim Schließen der Datei den zuletzt gemachten OnTime-Aufruf widerrufen.
hierzu musst du dir Startzeit in einer Projektweit gültigen Variablen merken.
hierzu:
in einem allgemeinen Modul:
Public NächsteStartZeit as date
Sub a()
Calculate
NächsteStartZeit = Now + TimeValue("00:01:00")
Application.OnTime NächsteStartZeit , "a"
End Sub
Im Modul "DieseArbeitsmappe"
Private Sub Workbook_Open()
Worksheets("Zeiterfassung").Range("Q23") = Environ("UserName")
MsgBox "Guten Morgen! :)"
If ActiveWorkbook.Name  "Zeiterfassung_fertig_4.3_Makro.xlsm" Then Exit Sub
NächsteStartZeit = Now + TimeValue("00:00:01")
Application.OnTime NächsteStartZeit , "a"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If NächsteStartZeit > Now Then Application.OnTime NächsteStartZeit, "a", schedule:=False
End Sub
Gruß Daniel
Anzeige
AW: Makro nur in bestimmter Datei ausführen
10.05.2017 14:55:46
Ulquiorra
Hallo Daniel,
vielen Dank für die schnelle Antwort!
ich habe beide Quellcodes jetzt genauso übernommen, dennoch tritt das gleiche Problem noch immer auf.
AW: Makro nur in bestimmter Datei ausführen
10.05.2017 15:12:20
Ulquiorra
Okay, es funktioniert jetzt.
Aus irgendeinem Grund hat es anfangs nicht geklappt, jetzt aber schon.
Vielen Dank nochmal. :)
AW: Makro nur in bestimmter Datei ausführen
11.05.2017 15:53:17
Ulquiorra
Hallo,
Entschuldigung für das ganze hin und her. Seit heute ist es wieder so, dass das Makro trotzdem im Hintergrund weiter läuft und sich die Datei nach spätestens 1er Minute wieder öffnet. Der Quellcode ist exakt der Selbe wie von dir angegeben.

12 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige