Wie verwende ich die Timer-Funktion in VBA?

In VBA (Visual Basic for Applications) gibt es keine eingebaute “Timer”-Funktion, die direkt wie in einigen anderen Programmiersprachen funktioniert. Allerdings können Sie in VBA ein Timer-ähnliches Verhalten durch verschiedene Methoden erreichen. Eine gängige Methode besteht darin, die `Application.OnTime`-Methode zu verwenden, um Ereignisse zu verzögern oder in bestimmten Intervallen auszuführen. Hier ist ein einfaches Beispiel, wie man dies tun kann:

Timer mit `Application.OnTime`

Dim nextTime As Double

Sub StartTimer()
    ' Setzen Sie die Ausführungszeit auf jetzt plus 5 Sekunden
    nextTime = Now + TimeValue("00:00:05")
    ' Planen Sie die Ausführung der Prozedur mit Application.OnTime
    Application.OnTime nextTime, "RunMe"
End Sub

Sub RunMe()
    ' Code, der nach der Verzögerung ausgeführt werden soll
    MsgBox "5 Sekunden sind vergangen!"
    ' Wenn Sie den Timer erneut starten möchten
    StartTimer
End Sub

Sub StopTimer()
    ' Abbrechen des geplanten Ereignisses
    On Error Resume Next
    Application.OnTime nextTime, "RunMe", , False
End Sub

Erklärung:

  • StartTimer: Diese Prozedur plant die Ausführung der `RunMe`-Prozedur nach einer Verzögerung von 5 Sekunden. Sie verwenden die Funktion `Now` in Kombination mit `TimeValue`, um die aktuelle Uhrzeit um die gewünschte Verzögerung zu erhöhen.
  • RunMe: Dies ist die Prozedur, die ausgeführt wird, nachdem die Verzögerung abgelaufen ist. Hier können Sie jeden gewünschten VBA-Code platzieren.
  • StopTimer: Diese Prozedur kann verwendet werden, um das geplante Ereignis zu stornieren, falls es nicht mehr benötigt wird oder vor dem geplanten Zeitpunkt abgebrochen werden soll.

Hinweise:

  • `Application.OnTime` ist nicht hochpräzise und eignet sich eher für Verzögerungen im Sekundenbereich. Wenn Sie eine genauere Zeitsteuerung benötigen, sollten Sie andere Methoden in Erwägung ziehen.
  • Stellen Sie sicher, dass die geplanten Prozeduren beendet werden oder dass Sie den Timer richtig stoppen, um ungewollte Ausführungen zu vermeiden.

Mit dieser Vorgehensweise können Sie wiederkehrende Ereignisse implementieren oder Funktionen nach einer gewünschten Verzögerung ausführen lassen.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project