Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro Zeitgesteuert starten

Makro Zeitgesteuert starten
16.06.2020 12:09:55
Karl
Hi!
Ich möchte ein Makro Zeitgesteuert ablaufen lassen.
Ich habe den unten angefügten Code dazu verwendet, aber irgendwie macht der nix!
Mein Makro heißt GetData und ist in der Arbeitsmappe gespeichert! Muss ich dafür ein Modul anlegen?
Muss die Excel Datei in der das Makro gespeichert ist geöffnet sein, oder läuft das im Hintergrund ab?
Public Sub Makro_Zeit()
Application.OnTime TimeValue("05:0:00"), "GetData"
End Sub

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Zeitgesteuert starten
16.06.2020 12:24:10
Daniel
Hi
Das Makro welches du aufrufst, muss in einem allgemeinen Modul liefen (Modul1)
Wenn ein Makro zeitgesteuert starten soll, dann darf die Datei, welche das Makro enthält, geschlossen sein, aber die Excelanwendung muss die ganze Zeit geöffnet bleiben.
Dann wird zum angegeben Zeitpunkt die Datei mit dem Makro geöffnet und das Makro ausgeführt, allerdings nicht im Hintergrund.
Gruß Daniel
Außerdem solltest du als Startzeitpunkt nicht nur die Uhrzeit, sondern auch das Datum mit angeben und das sollte nicht in der Vergangenheit liegen.
Gruß Daniel
Anzeige
AW: Makro Zeitgesteuert starten
16.06.2020 12:30:54
volti
Hallo Charly,
Du willst das Makro "GetData" also um 05 Uhr morgens starten.
Das geht schon so, wie Du es gemacht hast, aber Dein Format stimmt nicht ganz:
Public Sub Makro_Zeit()
  Application.OnTime TimeValue("05:00:00"), "GetData"
End Sub

Die SUb kann z.B. ins gleiche Modul, wo uch Deine "GetData" liegt, kommt aber auch drauf an, wie Du die SUb "Makro_Zeit" starten möchtest.
Die Mappe, in der das Makro liegt, muss auch aktiv (also geöffnet) sein. Wenn die Morgens um 05 Uhr niemand aufmacht, wird das m.E. so nix.
viele Grüße
Karl-Heinz
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel Makro Zeitgesteuert Ausführen


Schritt-für-Schritt-Anleitung

Um ein Excel Makro automatisch auszuführen, befolge diese Schritte:

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11 in Excel, um den VBA-Editor zu öffnen.
  2. Erstelle ein neues Modul:

    • Klicke mit der rechten Maustaste auf "VBAProject (deine_mappe.xlsx)" und wähle Einfügen > Modul.
  3. Füge den Code ein:

    • Kopiere den folgenden Code in das Modul:
    Public Sub Makro_Zeit()
       Application.OnTime TimeValue("05:00:00"), "GetData"
    End Sub
  4. Stelle sicher, dass das Makro im richtigen Modul ist:

    • Der Aufruf "GetData" muss in einem allgemeinen Modul (Modul1) sein.
  5. Speichere die Arbeitsmappe:

    • Speichere die Datei als Macro-Enabled Workbook (.xlsm).
  6. Starte das Makro:

    • Führe das Makro Makro_Zeit aus, um den Timer zu setzen.

Häufige Fehler und Lösungen

  • Fehler: Das Makro wird nicht ausgeführt:

    • Stelle sicher, dass die Excel-Anwendung geöffnet bleibt. Die Arbeitsmappe, die das Makro enthält, kann geschlossen sein, aber die Anwendung muss aktiv sein.
  • Fehler: Ungültige Zeit oder Datum:

    • Achte darauf, dass die angegebene Zeit nicht in der Vergangenheit liegt. Verwende das vollständige Datumsformat, falls nötig.

Alternative Methoden

Wenn du ein Excel Makro zeitgesteuert ausführen möchtest, gibt es auch alternative Ansätze:

  • Verwenden von Task Scheduler:

    • Du kannst den Windows Task Scheduler nutzen, um eine Excel-Datei zu einem bestimmten Zeitpunkt zu öffnen, die dann dein Makro ausführt.
  • VBA mit Schleifen:

    • Du kannst eine Schleife in VBA erstellen, die in regelmäßigen Abständen prüft, ob die aktuelle Zeit der Trigger-Zeit entspricht.

Praktische Beispiele

Hier ist ein einfaches Beispiel für ein Makro, das Daten aus einer externen Quelle abruft und täglich um 05:00 Uhr ausgeführt wird:

  1. Beispielcode:

    Public Sub GetData()
       ' Hier kommt der Code zum Abrufen der Daten
       MsgBox "Daten wurden abgerufen!"
    End Sub
  2. Einstellung des Timers:

    • Verwende den vorherigen Code für Makro_Zeit, um das Makro jeden Tag um 05:00 Uhr automatisch auszuführen.

Tipps für Profis

  • Nutze Application.OnTime strategisch, um mehrere Makros zu planen.
  • Teste deine Makros gründlich, um sicherzustellen, dass sie zur richtigen Zeit und ohne Fehler ausgeführt werden.
  • Überlege, Benachrichtigungen oder Logs hinzuzufügen, um den Status der Makros zu überwachen.

FAQ: Häufige Fragen

1. Muss Excel geöffnet sein, damit das Makro funktioniert?
Ja, die Excel-Anwendung muss geöffnet sein, während das Makro zeitgesteuert ausgeführt wird.

2. Wie kann ich sicherstellen, dass das Makro nicht in der Vergangenheit ausgeführt wird?
Achte darauf, dass du die aktuelle Uhrzeit und das Datum beim Setzen der Zeit im Code berücksichtigst. Verwende Now für die aktuelle Zeit, um sicherzustellen, dass der Trigger korrekt gesetzt ist.

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