Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Application.OnTime nach Ausführung noch aktiv?

Application.OnTime nach Ausführung noch aktiv?
Jogy
Hallo zusammen.
Ist eigentlich Application.OnTime nach der Ausführung weiter aktiv (also wie der Timer in VB) oder wird das nur ein Mal ausgeführt? Mir geht es einfach darum, dass manche Tabellen durchaus auch mal über Nacht offen sein können und es dann etwas ungeschickt wäre, wenn das Makro nach 24h nochmals ausgeführt wird.
Danke und Gruss, Jogy
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Einfach Datum mit angeben
04.08.2009 11:30:47
NoNet
Hallo Jogy,
gib entweder das Datum mit an :
Application.OnTime TimeValue("04.08.2009 11:30:00"), "DeinMakro"
oder terminiere das OnTime-Event wieder :
Application.OnTime TimeValue("11:30:00"), "DeinMakro", Schedule:=False
Gruß, NoNet
AW: Einfach Datum mit angeben
04.08.2009 11:47:13
Jogy
Hi.
Danke für die Antwort... dadurch ist mir aufgefallen, dass ich durch meine übliche Zeitangabe mit Now + ... ja eigentlich gar kein Problem habe - das Datum steckt dann ja drin. Von daher kann ich mir auch die Terminierung sparen, die ich bislang zur Sicherheit drin hatte.
Mich würde es aber trotzdem interessieren, wie sich OnTime hier grundsätzlich verhält.
Gruss, Jogy
Anzeige
AW: Einfach Datum mit angeben
04.08.2009 15:32:00
Jochen
Hi,
der Timer läuft so lange, bis er gestoppt wird oder falls nicht, bis Excel beendet wird.
mfg Jochen
AW: Einfach Datum mit angeben
05.08.2009 11:49:09
Jogy
Danke.
Gruss, Jogy
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Application.OnTime in Excel VBA effektiv nutzen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und aktiviere die Entwicklertools:

    • Gehe zu "Datei" > "Optionen" > "Menüband anpassen" und aktiviere "Entwicklertools".
  2. Erstelle ein neues Makro:

    • Klicke auf "Visual Basic" im Entwicklertools-Tab.
    • Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject" > "Einfügen" > "Modul").
  3. Verwende Application.OnTime:

    • Schreibe den folgenden Code, um ein Makro zu planen:

      Sub PlanenMakro()
       Application.OnTime Now + TimeValue("00:01:00"), "DeinMakro"
      End Sub
      
      Sub DeinMakro()
       MsgBox "Das Makro wurde ausgeführt!"
      End Sub
    • Dieser Code plant die Ausführung von "DeinMakro" in einer Minute.
  4. Beende Excel oder stoppe den Timer:

    • Um den Timer zu stoppen, kannst du den folgenden Befehl verwenden:
      Application.OnTime Now + TimeValue("00:01:00"), "DeinMakro", Schedule:=False

Häufige Fehler und Lösungen

  • Timer läuft nicht: Stelle sicher, dass du den Timer korrekt mit Application.OnTime gesetzt hast.

  • Makro wird mehrmals ausgeführt: Verwende den Schedule:=False Parameter, um die Ausführung des ontime event timer zu stoppen.

  • Fehlermeldung bei Excel-Schließung: Der Timer bleibt aktiv, bis Excel geschlossen wird. Plane daher die Ausführung mit Bedacht.


Alternative Methoden

  • Verwendung von DoEvents: Du kannst DoEvents verwenden, um den Timer während der Ausführung eines langen Makros regelmäßig zu aktualisieren.

  • Ereignisgesteuertes Programmieren: Anstelle von Application.OnTime, könntest du auch Ereignisse wie Workbook_Open oder Workbook_SheetChange nutzen, um bestimmte Makros auszulösen.


Praktische Beispiele

  1. Ein einfacher Timer für tägliche Aufgaben:

    Sub TäglicherTask()
       Application.OnTime TimeValue("09:00:00"), "DeinMakro"
    End Sub
  2. Wiederholtes Ausführen eines Makros alle 30 Minuten:

    Sub WiederholendesMakro()
       Application.OnTime Now + TimeValue("00:30:00"), "DeinMakro"
    End Sub
  3. Fehlerbehandlung einbauen:

    Sub SicheresMakro()
       On Error Resume Next
       Application.OnTime Now + TimeValue("00:01:00"), "DeinMakro"
       If Err.Number <> 0 Then
           MsgBox "Fehler bei der Planung!"
       End If
    End Sub

Tipps für Profis

  • Nutze Application.Ontime Now für eine präzise Zeitplanung.
  • Halte deine Makros modular, sodass du sie einfach wiederverwenden kannst.
  • Teste deine Timer in einer geschützten Umgebung, um unerwünschte Ausführungen zu vermeiden.

FAQ: Häufige Fragen

1. Was passiert, wenn ich Excel während der Ausführung eines geplanten Timers schließe?
Der Timer wird gestoppt, aber das geplante Makro wird nicht ausgeführt.

2. Kann ich mehrere Timer gleichzeitig setzen?
Ja, das ist möglich, solange jeder Timer eine eindeutige Zeit und ein eindeutiges Makro hat.

3. Wie kann ich sicherstellen, dass ein Makro nicht mehrmals ausgeführt wird?
Verwende den Schedule:=False Parameter, um den Timer zu stoppen, bevor du ihn neu setzt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige