Zum Hauptinhalt springen

Anwenden der OnTime-Funktion in Excel VBA: Beschreibung und Anwendungsbeispiele

Die OnTime-Funktion ist ein leistungsfähiges Tool in Excel VBA, mit dem Sie Verzögerungen festlegen und Prozeduren nach einer bestimmten Zeit aufrufen können. Mit dieser Funktion können Sie Aufgaben automatisieren und temporäre Ereignisse in Makros verwalten.

Der Hauptzweck der OnTime-Funktion besteht darin, den Startpunkt der Prozedur festzulegen, der nach einer bestimmten Zeit automatisch aufgerufen wird. Dies ist sehr praktisch, wenn Sie die Ausführung eines bestimmten Codes verzögern oder die Ausführung einer Prozedur in Zukunft planen müssen. Der Countdown beginnt ab dem Zeitpunkt, an dem die OnTime-Funktion aufgerufen wird.

Beispiel für die Verwendung der OnTime-Funktion:

Application.OnTime Now + TimeValue("00:00:10"), "MyProcedure"

In diesem Beispiel wird die Prozedur "MyProcedure" nach 10 Sekunden aufgerufen (wird mit der Funktion TimeValue angegeben). Es ist wichtig zu beachten, dass der Name der Prozedur in Anführungszeichen angegeben werden muss. Dieser Vorgang wird nach der angegebenen Zeit automatisch ausgeführt.

Mit der OnTime-Funktion können Sie auch ein geplantes Ereignis rückgängig machen. Dazu rufen Sie die OnTime-Funktion mit dem Parameter Schedule:=False auf. Zum Beispiel:

Application.OnTime Now + TimeValue("00:00:10"), "MyProcedure", , Schedule:=False

Dieser Code bricht das geplante Ereignis des Prozeduraufrufs "MyProcedure" nach 10 Sekunden ab. Anstatt die Prozedur aufzurufen, wird das Ereignis abgebrochen.

Die OnTime-Funktion kann für viele Aufgaben verwendet werden, z. B. das Ausführen von Makros nach einem Zeitplan, das Automatisieren von Datenaktualisierungen, das Überwachen von Zeitintervallen und vieles mehr. Es hilft, die Arbeit mit Makros effizienter und bequemer zu machen.

Beschreibung der OnTime-Funktion in Excel VBA

OnTime-Funktion in VBA wird Excel verwendet, um die Ausführung einer bestimmten Prozedur oder eines Makros zu einem bestimmten Zeitpunkt zu planen.

Die Syntax der OnTime-Funktion lautet wie folgt:

Application.OnTime(Zeit, "Prozedur"), [reine Ausführung])

  • die Zeit - die Zeit, zu der das Verfahren durchgeführt werden soll. Wird als Date-Wert angegeben und kann sowohl einen bestimmten Zeitpunkt als auch eine relative Zeit vom aktuellen Zeitpunkt angegeben werden;
  • das Verfahren - der Name der auszuführenden Prozedur oder des Makros;
  • [reine Ausführung] - optionaler Parameter, der angibt, ob das Makro nur einmal ausgeführt werden soll (False) oder zu bestimmten Zeitpunkten, die durch den Parameter 'Zeit' (True) angegeben werden. Der Standardwert ist True.

Mit der OnTime-Funktion können Sie die Ausführung von Makros zu bestimmten Zeiten automatisieren, was bei der Automatisierung von Aufgaben oder bei der Planung regelmäßiger Aktionen nützlich sein kann. Mit dieser Funktion können Sie die Ausführung eines bestimmten Makros nach einer bestimmten Zeit nach dem Ausführen des Makros oder sogar zu einem bestimmten Datum und einer bestimmten Uhrzeit in der Zukunft planen.

Wenn Sie beispielsweise die Ausführung des Makros "MyMacro" 10 Sekunden nach dem Ausführen des aktuellen Makros planen möchten, müssen Sie den folgenden Code verwenden:

Sub ScheduleMacro() Application.OnTime Now + TimeValue("00:00:10"), "MyMacro" End Sub

In diesem Fall gibt Now die aktuelle Zeit zurück, zu der der mit der Funktion TimeValue angegebene Wert von 10 Sekunden addiert wird. Das Makro "MyMacro" wird 10 Sekunden nach dem Ausführen des aktuellen Makros ausgeführt.

Es besteht auch die Möglichkeit, die geplante Ausführung eines Makros mit der OnTime-Funktion rückgängig zu machen. Dazu müssen Sie die OnTime-Funktion mit einer Zeit von Null aufrufen:

Sub CancelScheduledMacro() Application.OnTime Now, "MyMacro", Schedule:=False End Sub

In diesem Fall wird die geplante Ausführung des Makros "MyMacro" abgebrochen.

Anmerkung: sie müssen die Bibliothek "Microsoft Excel XX" aktivieren, um die OnTime-Funktion verwenden zu können.Y Object Library" unter Tools > References, wobei XX.Die Y-Version von Excel, die auf dem Computer installiert ist.

Beispiele für die Verwendung der OnTime-Funktion in Excel VBA

Mit der OnTime-Funktion in Excel VBA können Sie Aufträge erstellen, die zu bestimmten Zeiten ausgeführt werden. Dies kann nützlich sein, wenn Sie bestimmte Aktionen zu bestimmten Zeiten automatisieren müssen.

Hier sind einige Beispiele für die Verwendung der OnTime-Funktion:

Ein BeispielDie Beschreibung
Beispiel 1Führt das Makro 5 Sekunden nach dem Öffnen der Arbeitsmappe aus.
Beispiel 2Das Makro wird regelmäßig alle 10 Sekunden ausgeführt.
Beispiel 3Führen Sie jeden Tag ein Makro zu einer bestimmten Zeit aus.
Sub RunMacro()Application.OnTime Now + TimeValue("00:00:05"), "MyMacro"End SubSub MyMacro()' Ваш код здесьEnd Sub
Sub RunMacro()Application.OnTime Now + TimeValue("00:00:10"), "MyMacro"End SubSub MyMacro()' Ваш код здесь' Повторный запуск макроса через 10 секундRunMacroEnd Sub
Sub RunMacro()Application.OnTime TimeValue("08:00:00"), "MyMacro"End SubSub MyMacro()' Ваш код здесь' Повторный запуск макроса в следующий день в 8:00RunMacroEnd Sub

Dies sind nur einige Beispiele für die Verwendung der OnTime-Funktion in Excel VBA. Sie können je nach Ihren Bedürfnissen eigene Anwendungsszenarien erstellen.