Makro für eine bestimmte Zeit pausieren
© sdecoret - Adobe Stock

Makro für eine bestimmte Zeit pausieren

So legen Sie per Makro eine Pause ein

Manchmal soll ein Makro eine bestimmte Zeit abwarten. Das Beispiel der Anzeige von Text in der Statuszeile in dieser Ausgabe enthält auch eine solche Warteschleife.

Bei Warteschleifen, die aus leeren For-Next-Schlefien bestehen, ergibt sich ein Problem darauf, dass diese Schleifen je nach Rechengeschwindigkeit auf verschiedenen Systemen unterschiedliche lange benötigen. Auf einem schnellen PC ist die Schleife schnell durchlaufen, auf einem langsamen System benötigt sie mehr Zeit.

 

Um auf allen Systemen bessere Warteschleifen hinzubekommen, können Sie das Wait-Kommando einsetzen. Das ist dazu gedacht, die Ausführung eines Makros bis zu einem bestimmten Zeitpunkt auszusetzen.

Indem Sie die Parameter so einsetzen, dass Sie die aktuelle Zeit mit einer gewünschten Wartedauer kombinieren, können Sie mit dem Wait-Kommando Pausen beliebiger Länge einbinden. Das folgende Makro zeigt, wie das geht:

Sub WarteAb()
 Application.Wait (Now + TimeValue("00:00:10"))
End Sub

Setzen Sie als Parameter für den TimeValue-Befehl die gewünschate Wartedauer ein. Im Beispiel wird eine Wartezeit von 10 Sekunden verwendet.

Um eine bestimmte Anzahl von Stunden zu warten, verändern Sie die Zahl an der ersten Position, für die Minuten die Zahl hinter dem ersten Doppelpunkt. Die Sekunden steuern Sie über die letzte Zahl.