Ausführen eines Makros nach einer definierten Wartezeit

Möchten Sie ein Makro nach einer bestimmten Intervall-Zeit immer wieder ausführen?

Möchten Sie bspw. alle 30 Minuten erinnert werden, Ihre Rückenübungen zu machen. Oder soll stündlich ein Verzeichnis auf neue Importdaten überwacht werden? Hier hilft folgendes Makro weiter.

{codecitation}
Private t As Boolean

Sub starten()
t = True
zeit = Time + TimeSerial(0, 30, 0)
Application.OnTime zeit, "generate_meldung"
End Sub
{/codecitation}
{codecitation}
Sub generate_meldung()
MsgBox "Es ist Zeit etwas zu erledigen!!"
If t = True Then starten
End Sub
{/codecitation}
{codecitation}
Sub beenden()
t = False
End Sub
{/codecitation}

Gestartet wird das Programm mit der Prozedur 'starten'.
Nach 30 Minuten wird die Prozedur 'generate_meldung' ausgeführt.
Hier kann nun jeder beliebige VBA-Code ausgeführt werden.
Mit der Prozedur 'beenden' schalten Sie das wiederholte Ausführen des Codes wieder ab.
In der Prozedur 'starten' können Sie die Intervallzeit beliebig einstellen.
Sie müssen einfach beim Befehl TimeSerial(Stunde, Minute, Sekunde) die gewünschte
Intervalldauer angeben.

Geeignet ist dieses Makro auch, um die laufende Uhrzeit in einer Zelle anzuzeigen.
Der entsprechende Code muss nur etwas abgewandelt werden und sieht wie folgt aus:
Die Änderungen sehen sie an den eingefärbten Code-Zeilen

{codecitation}
Private t As Boolean

Sub starten()
t = True
zeit = Time + TimeSerial(0, 0, 1)
Application.OnTime zeit, "generate_meldung"
End Sub
{/codecitation}
{codecitation}
Sub generate_meldung()
Sheets("Tabelle1").Cells(1, 1).Value = Time
If t = True Then starten
End Sub
{/codecitation}
{codecitation}
Sub beenden()
t = False
End Sub
{/codecitation}

Dieser Code muss in einem neuen Code-Modul eingefügt werden, nicht im Codemodul eines Tabellenblatts.

 

     sitepanel e mail Anfrage per E-Mail   |   sitepanel telephone 0151 - 164 55 914   |    sitepanel formular  Anfrage per Kontaktformular      |     Excel-Hilfeforum Hilfe-Forum

Ihre Zufriedenheit ist unser Ziel, deshalb verwenden wir Cookies. Mit diesen ermöglichen wir, dass unsere Webseite zuverlässig und sicher läuft, wir die Performance im Blick behalten und Sie besser ansprechen können. Cookies werden benötigt, damit technisch alles funktioniert und Sie auch externe Inhalte lesen können. Des Weiteren sammeln wir unter anderem Daten über aufgerufene Seiten, getätigte Käufe oder geklickte Buttons, um so unser Angebot an Sie zu Verbessern. Mehr über unsere verwendeten Dienste erfahren Sie unter „Weitere Informationen“. Mit Klick auf „Akzeptieren“ erklären Sie sich mit der Verwendung dieser Dienste einverstanden. Ihre Einwilligung können Sie jederzeit mit Wirkung auf die Zukunft widerrufen oder ändern.