Ausführen eines Makros nach einer definierten Wartezeit

104010




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.



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!




   

Aktuell sind 11 Gäste und keine Mitglieder online

   
Twitter Account für Excel-InsideExcel-Inside auf FacebookExcel-Inside auf Linked InExcel-Live News blogExcel-Inside RSS-FeedExcel-Inside auf Xing

Excel Auftragsprogrammierung

Access Auftragsprogrammierung
Word Auftragsprogrammierung

Outlook Auftragsprogrammierung

 Maßgeschneiderte
Individuallösungen
  für Ihren Erfolg
   

Sie haben eine Frage ...
... hier geht´s zum Office Forum

Forum Office-Fragen

   
   
   
   

Forum Office-FragenOffice-Fragen.de ist das Forum rund um Microsoft Office, PALO und LibreOffice.
[Excel, Word, Outlook, Access, Visio, Office365, Office mac: u.v.m.]

Wenn Sie Fragen haben, dann können Sie diese jederzeit gerne im Forum stellen. Die anwesenden Moderatoren und ggf.
auch andere Forumsteilnehmer werden Ihre Problemstellung schnellstmöglich bearbeiten.

Möchten Sie Ihr Wissen weitergeben? Dann sind Sie selbstverständlich auch jederzeit herzlich im Forum willkommen.

Jeder registrierte Benutzer erhält das kostenlose E-Book "Die 100 wichtigsten Formeln und Funktionen" für Excel.

Registrieren Sie sich noch heute und sichern Sie sich das kostenlose Willkommensgeschenk.

» zum Forum...

   
Live tracking and statistics