Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1912to1916
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Application.OnTime aktualisieren
08.01.2023 15:41:46
Marc
Hallo ich hab mal ne Frage..
ich möchte in meiner Excel Datei mit
Application.OnTime Sheets("DropDown").Range("H4") + TimeValue("00:15:00"), "Shutdown"
die Arbeitsmappe nach 15 Minuten beenden ..
Das funktioniert auch gut
Allerdings möchte ich dann , wenn ich darin arbeite und zum Beispiel bestimmte Aktionen durchführe (in meiner Userform) das der Timer zurück gesetzt wird.
Dabei hatte ich bisher versucht, jedes Mal wenn ich eine Aktion durchführe, das in der Zelle H4 die aktuelle Uhrzeit eingetragen wird, und das OnTime Event entsprechend angepasst wird.
Anscheind habe ich da einen Denkfehler, denn das funktioniert nicht...
Meine Frage ist:
Wenn ich in den Aktionen (z.B. benutzen einen Buttons oder abspeichern) und ich jedes Mal
Application.OnTime Now + TimeValue("00:15:00"), "Shutdown"
nutze, würde sich dann der Intervall wieder neu starten? Sprich wird die alte OnTime überschrieben ?
Vg Marc

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Application.OnTime aktualisieren
08.01.2023 16:09:23
Nepumuk
Hallo Marc,
nein, überschrieben werden die vorherigen OnTime-Methoden nicht. Die musst du vorher beenden, indem du den Parameter Schedule auf False setzt.
Gruß
Nepumuk
AW: Application.OnTime aktualisieren
08.01.2023 17:02:28
onur
Du musst höllisch aufpassen bei OnTime.
Jedesmal mal, wenn du

Application.OnTime Now + TimeValue("00:15:00"), "Shutdown"
aufrufst, startest du einen NEUEN Timer, da "OnTime Now + TimeValue("00:15:00")" jedes mal etwas anderes ergibt.
Du musst aber immer den Timer mit EXAKT DER SELBEN ZEIT deaktivieren bzw ansprechen.
Um jedes Mal genau DIESEN Timer anzusprechen, solltest du in einem Standardmodul eine Publicvariable setzen, z.B. Public Zeit.

Zeit=Now + TimeValue("00:15:00")
Application.OnTime Zeit, "Shutdown"
Und um den Timer (vor Schliessen der Datei zwingend nötig) zu deaktivieren:

Application.OnTime Zeit, "Shutdown",,false
oder

Application.OnTime EarliestTime:=Zeit, Procedure:="Shutdown", Schedule:=False

Anzeige
Vielen Dank Euch beiden
08.01.2023 20:14:24
Marc
für die gute Hilfe, das hat mir sehr weiter geholfen
:)

54 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige