VBA: Eine zeitgesteuerte Prozedur

VBAZeit1

Mitunter besteht der Wunsch, eine Prozedur zu einem bestimmten Zeitpunkt zu starten.

Zu diesem Zweck gibt es in VBA die Methode „Application.OnTime“.

Wichtig ist es, dass hierzu jeweils zwei Prozeduren notwendig sind.

Wie das programmiert werden kann, zeigt dieser Beitrag.

1. Beschreibung der Beispiele

In einem ersten Beispiel soll zu einem bestimmten Zeitpunkt eine MsgBox die Mitteilung geben, dass ein wichtiger Anruf vorgenommen werden soll.

In einem zweiten Beispiel soll die Prozedur erst nach Ablauf einer festzulegenden Zeit in Stunden, Minuten und Sekunden gestartet werden.

VBAZeit1

2. Beispiel 1: Zeitpunkt für Anruf

Die erste Prozedur startet mit der Methode Application.OnTime, legt die Startzeit der zweiten Prozedur fest und nennt die zweite Prozedur.

Startzeit soll z.B. 15:30 Uhr sein. Zu diesem Zeitpunkt erscheint eine MsgBox mit der Mitteilung:

„15:30 Uhr. Jetzt die Fa. Meier-Saft anrufen.“

Schreibe die erste Prozedur in den VBA-Editor:

Sub StartUhrzeit()

Application.OnTime TimeValue(„15:30:00“), „MeineErinnerung“

End Sub

In der zweiten Prozedur gibt die MsgBox besagte Mitteilung heraus.

Schreibe in den VBA-Editor:

Sub MeineErinnerung()

MsgBox Time & „Jetzt die Fa. Meier-Saft anrufen“

End Sub        

Die MsgBox gibt pünktlich die Anweisung zum Anruf heraus.

3. Beispiel 2: Verzögerte Prozedur

Hier gibt es wiederum zwei Prozeduren.

Die erste Prozedur startet mit der Methode Application.OnTime, legt, ausgehend von der jetzigen Zeit (Now) die Zeitverzögerung fest, nach deren Ablauf die zweite Prozedur starten soll.

Start ist jetzt (Now). Danach sollen 10 Sekunden vergehen, bis eine MsgBox eine Anweisung herausgibt.

Schreibe die erste Prozedur in den VBA-Editor:

Sub Verzoegerung()

Application.OnTime Now + TimeValue(„00.00:10“), „MeineProzedur“

End Sub

In der zweiten Prozedur gibt die MsgBox eine Mitteilung heraus.

Schreibe in den VBA-Editor:

Sub MeineProzedur()

MsgBox Time & „Jetzt die Fa. Meier-Saft anrufen“

End Sub

Nach Ablauf der Verzögerung von 10 Sekunden gibt die MsgBox die Anweisung zum Anruf heraus.


Entdecke mehr von Clevercalcul

Melde dich für ein Abonnement an, um die neuesten Beiträge per E-Mail zu erhalten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

WordPress Cookie Plugin von Real Cookie Banner