AW: Makro zu bestimmter Zeit ausführen
16.09.2006 07:11:58
Renner
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 ähnliches? Dann hilft Ihnen folgendes Makro weiter:
Private t As Boolean
Sub starten()
t = True
zeit = Time + TimeSerial(0, 30, 0)
Application.OnTime zeit, "generate_meldung"
End Sub
Sub generate_meldung()
MsgBox "Es ist Zeit etwas zu erledigen!!"
If t = True Then starten
End Sub
Sub beenden()
t = False
End Sub
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
Private t As Boolean
Sub starten()
t = True
zeit = Time + TimeSerial(0, 0, 1)
Application.OnTime zeit, "generate_meldung"
End Sub
Sub generate_meldung()
Sheets("Tabelle1").Cells(1, 1).Value = Time
If t = True Then starten
End Sub
Sub beenden()
t = False
End Sub
Dieser Code muss in einem Modul eingefügt werden! Nicht in einem Tabellenblatt!