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

Forumthread: Makros zu einer bestimmten Uhrzeit automatisch starten lassen

Makros zu einer bestimmten Uhrzeit automatisch starten lassen
23.10.2019 09:37:36
Raimund
Hi All.
Ich habe eine ODBC Vervindung, eine Pivot Tabelle und würde gerne den Ablauf automatisieren.
In der Nacht soll die ODBC Verbindung 2x aktualisiert werden, die Pivot Tabelle soll auch auch aktualisiert werden und dann soll mein Makro Sub Mail_Selection_Outlook() automatisch ausgeführt werden, wobei aus Excel eine eMail via Outlook gesendet wird
Ist das machbar?
Vielen Dank
Gruß Raimund
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Makros zu einer bestimmten Uhrzeit automatisch starten lassen
23.10.2019 09:55:36
Daniel
Hi
du kannst über Application.Ontime Datum+Urzeit, "Makroname"
ein Makro zu einer bestimmten Uhrzeit ausführen lassen.
Der Rechner muss natürlich an sein und Excel muss laufen.
Ob das auch läuft, wenn dein rechner in StandBy geht, müsstest du testen.
Gruß Daniel
Anzeige
AW: Makros zu einer bestimmten Uhrzeit automatisch starten lassen
23.10.2019 10:05:42
Raimund
Hi Daniel.
Das habe ich auch so versucht mit dem Code in dieser Arbeitsmappe:
Private Sub Workbook_Open()
Application.OnTime TimeValue("08:55:00"), "Mail_Selection_Outlook"
End Sub
Nachdem ich die Mappe um 08:30 geöffnet habe, hat Excel die eMail gesendet um 08:55.
Wie muss der

Private Sub heißen, damit es die eMail sendet, wenn die Mappe ganze Zeit geöffnet ist?
Habe die Uhrzeit auf 9 Uhr abgeändert und gespeichert aber Excel hat leider keine eMail mehr  _
gesendet.
Vielen Dank
Gruß raimund

Anzeige
AW: Makros zu einer bestimmten Uhrzeit automatisch starten lassen
23.10.2019 10:06:03
Raimund
Hi Daniel.
Das habe ich auch so versucht mit dem Code in dieser Arbeitsmappe:
Private Sub Workbook_Open()
Application.OnTime TimeValue("08:55:00"), "Mail_Selection_Outlook"
End Sub
Nachdem ich die Mappe um 08:30 geöffnet habe, hat Excel die eMail gesendet um 08:55.
Wie muss der

Private Sub heißen, damit es die eMail sendet, wenn die Mappe ganze Zeit geöffnet ist?
Habe die Uhrzeit auf 9 Uhr abgeändert und gespeichert aber Excel hat leider keine eMail mehr  _
gesendet.
Vielen Dank
Gruß raimund

Anzeige
AW: Makros zu einer bestimmten Uhrzeit automatisch starten lassen
23.10.2019 10:09:57
Daniel
Hi
liegt vielleicht daran, dass 9:00 schon vorbei war?
ich würde zur Sicherheit das Datum mit angeben:
Application.Ontime Date + TimeSerial(11, 0, 0), ...
bzw, wenns am nächten Tag sein soll:
Application.Ontime Date + 1 + TimeSerial(6, 0, 0), ....
Gruß Daniel

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Makros zu einer bestimmten Uhrzeit automatisch starten lassen


Schritt-für-Schritt-Anleitung

Um ein Makro zu einer bestimmten Uhrzeit automatisch auszuführen, kannst du die Application.OnTime-Methode verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und lade die Arbeitsmappe, in der du das Makro ausführen möchtest.
  2. Öffne den VBA-Editor (drücke ALT + F11).
  3. Füge den folgenden Code in das ThisWorkbook-Modul ein:
    Private Sub Workbook_Open()
       Application.OnTime TimeValue("09:00:00"), "Mail_Selection_Outlook"
    End Sub
  4. Speichere die Arbeitsmappe und stelle sicher, dass sie als Makro-fähige Datei (z.B. .xlsm) gespeichert wird.
  5. Öffne die Arbeitsmappe zu der gewünschten Zeit, damit Excel das Makro zur festgelegten Uhrzeit ausführen kann.

Häufige Fehler und Lösungen

  • Fehler: Makro wird nicht ausgeführt

    • Lösung: Überprüfe, ob die Uhrzeit bereits vorbei ist. Wenn du beispielsweise versuchst, das Makro auf 09:00 Uhr zu setzen, stelle sicher, dass du die Arbeitsmappe vor dieser Zeit öffnest.
  • Fehler: Excel sendet keine E-Mail

    • Lösung: Stelle sicher, dass der Code zur E-Mail-Versendung korrekt ist. Teste das Makro direkt, um sicherzustellen, dass es funktioniert.

Alternative Methoden

Neben der Verwendung von Application.OnTime gibt es auch andere Methoden, um Makros in Excel zu automatisieren:

  • Verwendung von Task Scheduler: Du kannst auch Windows Task Scheduler nutzen, um Excel zu einer bestimmten Zeit zu starten und dein Makro auszuführen.
  • Ereignisgesteuerte Makros: Du kannst Makros an bestimmte Ereignisse (z.B. beim Öffnen der Datei) binden, um bestimmte Aktionen auszuführen.

Praktische Beispiele

Hier sind einige praktische Beispiele, die dir helfen können:

  • Beispiel für das Senden einer E-Mail:

    Sub Mail_Selection_Outlook()
       Dim OutlookApp As Object
       Dim OutlookMail As Object
    
       Set OutlookApp = CreateObject("Outlook.Application")
       Set OutlookMail = OutlookApp.CreateItem(0)
    
       With OutlookMail
           .To = "example@domain.com"
           .Subject = "Automatische E-Mail"
           .Body = "Dies ist eine automatisch gesendete E-Mail."
           .Send
       End With
    End Sub
  • Beispiel für das Aktualisieren einer Pivot-Tabelle:

    Sub UpdatePivotTable()
       Dim ws As Worksheet
       Set ws = ThisWorkbook.Sheets("PivotSheet")
       ws.PivotTables("PivotTable1").RefreshTable
    End Sub

Tipps für Profis

  • Verwende Date + TimeSerial: Wenn du sicherstellen möchtest, dass dein Makro am nächsten Tag ausgeführt wird, kannst du den folgenden Code verwenden:
    Application.OnTime Date + 1 + TimeSerial(6, 0, 0), "Mail_Selection_Outlook"
  • Überprüfe die Zeitzone: Achte darauf, dass die Uhrzeit in deinem Code mit der Zeitzone deines Rechners übereinstimmt.

FAQ: Häufige Fragen

1. Frage
Was passiert, wenn mein Rechner in den Standby-Modus geht?
Antwort: Wenn dein Rechner in den Standby-Modus geht, wird Application.OnTime nicht ausgeführt. Stelle sicher, dass dein Rechner aktiv ist.

2. Frage
Wie kann ich das Makro für mehrere Uhrzeiten planen?
Antwort: Du kannst mehrere Application.OnTime-Aufrufe in deinem Workbook_Open-Ereignis platzieren, um das Makro zu verschiedenen Zeiten auszuführen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige