ich starte mit folgendem makro eine echtzeit-ausgabe:
Sub Uhrzeit()
[D21] = Format(Time, "hh:mm:ss")
Application.OnTime Now + TimeValue("00:00:01"), "Uhrzeit"
End Sub
Wie kann ich das wieder ausstellen bzw. anhalten? Gruß
frank
Sub Uhrzeit()
[D21] = Format(Time, "hh:mm:ss")
Application.OnTime Now + TimeValue("00:00:01"), "Uhrzeit"
End Sub
Wie kann ich das wieder ausstellen bzw. anhalten? Sub stopp()
Application.OnTime dblNextTime, "XUhrzeit", Schedule:=False
End Sub
Die Uhrzeit wurde angehalten, aber die fehlermeldung nervt...
Um ein Makro in Excel VBA zu stoppen, das mit Application.OnTime
erstellt wurde, befolge diese Schritte:
Makro erstellen: Zuerst erstelle ein Makro, das Application.OnTime
nutzt, um eine Funktion regelmäßig auszuführen. Beispiel:
Sub Uhrzeit()
[D21] = Format(Time, "hh:mm:ss")
Application.OnTime Now + TimeValue("00:00:01"), "Uhrzeit"
End Sub
Stopp-Funktion implementieren: Um das Makro zu stoppen, füge eine Stopp-Funktion hinzu. Diese sollte Schedule:=False
verwenden, um die geplante Ausführung zu beenden:
Sub stopp()
Application.OnTime Now + TimeValue("00:00:01"), "Uhrzeit", Schedule:=False
End Sub
Aufruf der Stopp-Funktion: Stelle sicher, dass du die Stopp-Funktion aufrufst, bevor du die Excel-Datei schließt, um Laufzeitfehler zu vermeiden.
Laufzeitfehler 1004: Dieser Fehler tritt auf, wenn Application.OnTime
nicht korrekt ausgeführt werden kann. Überprüfe, ob die Zeit, die du angibst, korrekt ist und ob die Funktion, die du stoppen möchtest, richtig benannt ist.
Überlappungen bei kurzer Frequenz: Wenn du Application.OnTime
mit einem sehr kurzen Intervall (z.B. 1 Sekunde) verwendest, kann es zu Überlappungen kommen. Verwende längere Intervalle, um Probleme zu vermeiden.
Fehler bei der Verwendung von "XUhrzeit": Achte darauf, dass der Name der Funktion, die du stoppst, genau dem Namen entspricht, der bei der Planung verwendet wird. Wenn du den Namen änderst (z.B. "XUhrzeit"), kann dies zu Mehrdeutigkeiten führen.
Falls du eine andere Methode zum Stoppen von Application.OnTime
ausprobieren möchtest, könntest du:
Eine globale Variable verwenden: Setze eine globale Variable, die angibt, ob das Makro aktiv ist oder nicht. So kannst du das Makro einfach anhalten, indem du die Variable änderst.
Dim IsRunning As Boolean
Sub Uhrzeit()
If Not IsRunning Then Exit Sub
[D21] = Format(Time, "hh:mm:ss")
Application.OnTime Now + TimeValue("00:00:01"), "Uhrzeit"
End Sub
Sub Start()
IsRunning = True
Uhrzeit
End Sub
Sub Stopp()
IsRunning = False
End Sub
Hier sind einige Beispiele für die Verwendung von Application.OnTime
, um eine wiederkehrende Funktion zu erstellen und zu stoppen:
Echtzeit-Uhrzeit anzeigen:
Sub Uhrzeit()
[D21] = Format(Time, "hh:mm:ss")
Application.OnTime Now + TimeValue("00:00:01"), "Uhrzeit"
End Sub
Stoppen der Uhrzeit:
Sub Stopp()
Application.OnTime Now + TimeValue("00:00:01"), "Uhrzeit", Schedule:=False
End Sub
Fehlerbehandlung: Implementiere eine Fehlerbehandlungsroutine, um mögliche Laufzeitfehler beim Stoppen von Application.OnTime
abzufangen.
Verwende TimeSerial
: Anstelle von TimeValue
kannst du TimeSerial
verwenden, um Zeitwerte zu erstellen, was oft klarer und weniger fehleranfällig ist.
Dokumentiere deinen Code: Füge Kommentare hinzu, um den Zweck jeder Funktion zu erklären. Dies hilft dir und anderen, den Code später leichter zu verstehen.
1. Wie kann ich sicherstellen, dass das Makro wirklich stoppt?
Achte darauf, dass du die Stopp-Funktion vor dem Schließen der Excel-Datei aufrufst. Andernfalls könnte es zu unerwarteten Fehlern kommen.
2. Was bedeutet der Fehler "Laufzeitfehler 1004"?
Dieser Fehler weist darauf hin, dass es ein Problem mit dem Application.OnTime
Aufruf gibt, häufig verursacht durch falsche Zeitangaben oder einen nicht vorhandenen Funktionsnamen.
3. Kann ich mehrere Application.OnTime
Aufrufe gleichzeitig verwenden?
Ja, aber achte darauf, dass sie nicht überlappen. Verwende unterschiedliche Zeitintervalle oder verwalte sie mit einer globalen Variable.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen