Brauchen Sie Hilfe?
Web:     Online-Formular
E-Mail:  
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Tel:       +49(0)151 / 164 55 914

Nutzen Sie für Ihre Anfrage unser Online-Formular oder senden Sie uns eine E-Mail an Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!. Gerne können Sie aber auch direkt telefonisch Kontakt aufnehmen.

   
     Referenzen
 Bosch 
  T-Systems
  Hagebau
  Siemens
 Areva  VW
 Haufe-Lexware  British American Tobacco
  nagel group farbe
   

Ausführen eines Makros nach einer definierten Wartezeit

Möchten Sie ein Makro nach einer bestimmten Intervall-Zeit immer wieder ausführen?

Möchten Sie bspw. alle 30 Minuten erinnert werden, Ihre Rückenübungen zu machen. Oder soll stündlich ein Verzeichnis auf neue Importdaten überwacht werden? Hier hilft folgendes Makro weiter.

Private t As Boolean

Sub starten()
t = True
zeit = Time + TimeSerial(0, 30, 0)
Application.OnTime zeit, "generate_meldung"
End Sub

Sub generate_meldung()
MsgBox "Es ist Zeit etwas zu erledigen!!"
If t = True Then starten
End Sub

Sub beenden()
t = False
End Sub


Gestartet wird das Programm mit der Prozedur 'starten'.
Nach 30 Minuten wird die Prozedur 'generate_meldung' ausgeführt.
Hier kann nun jeder beliebige VBA-Code ausgeführt werden.
Mit der Prozedur 'beenden' schalten Sie das wiederholte Ausführen des Codes wieder ab.
In der Prozedur 'starten' können Sie die Intervallzeit beliebig einstellen.
Sie müssen einfach beim Befehl TimeSerial(Stunde, Minute, Sekunde) die gewünschte
Intervalldauer angeben.

 


Geeignet ist dieses Makro auch, um die laufende Uhrzeit in einer Zelle anzuzeigen.
Der entsprechende Code muss nur etwas abgewandelt werden und sieht wie folgt aus:
Die Änderungen sehen sie an den eingefärbten Code-Zeilen

Private t As Boolean

Sub starten()
t = True
zeit = Time + TimeSerial(0, 0, 1)
Application.OnTime zeit, "generate_meldung"
End Sub

Sub generate_meldung()
Sheets("Tabelle1").Cells(1, 1).Value = Time
If t = True Then starten
End Sub

Sub beenden()
t = False
End Sub


Dieser Code muss in einem neuen Code-Modul eingefügt werden, nicht im Codemodul eines Tabellenblatts.

 

   

Relevante Artikel

  • Makro über die Funktion WENN() starten

    Haben Sie schon mal darüber nachgedacht, über die Funktion =WENN(Prüfung;dann;sonst)ein eigenes Makro auszuführen, wenn die Wenn-Bedingung eintritt? Nachfolgend zeigen wir Ihnen, wie sich dies...

  • Aktive Zelle mit Farbe hinterlegen

    104007 Folgendes Programm färbt die aktive Zelle farblich ein. Wird die Zelle wieder verlassen wird der Ursprungszustand in der verlassenen Zelle wieder hergestellt und die nun aktive Zelle...

  • Sperren der Entfernen-Taste wenn Formel in Zelle

        In diesem Beispiel zeigen wir Ihnen, wie sich die Entfernen-Taste sperren lässt, wenn sich eine Formeln in der Zelle befindet. Dazu sind ein paar Zeilen VBA-Code notwendig. Erfassen Sie folgenden...

  • MessageBox nach bestimmter Zeit automatisch schließen

    Eine MessageBox wird normalerweise so lange am Bildschirm angezeigt, bis diese über eine Schaltfläche wie Ja, Nein oder OK beendet wird. Mit Hilfe des nachfolgenden Codes lässt sich eine MessageBox aber auch...

  • Tischrechner mit Tippstreifen

    Der in diesem Beitrag vorgestellte Rechner protokollilert alle Eingaben in einer Art Tipp-Streifen, so wie bei Tischrechnern üblich. Damit können Eingaben nachvollzogen und historisiert werden,...

   

Excel-Inside auf Facebook Excel-Live News blog Excel-Inside RSS-Feed Twitter Account für Excel-Inside Mail an Excel-Inside 

Programmierung
Excel Auftragsprogrammierung Access Auftragsprogrammierung
Word Auftragsprogrammierung Outlook Auftragsprogrammierung
   
Unsere Produkte
Office Schulungen VBA, Excel, Access
E-Book Formeln und Funktionen Excel 2013