Excel - Makros nach einer vorgegebenen Zeit starten

Makros nach einer vorgegebenen Zeit starten

Sie können in Excel mit Hilfe des Befehls OnTime (BeiZeit) dafür sorgen, dass die Tabellenkalkulation eine bestimmte Zeitspanne nach dem Start eines Makros ein weiteres Makro startet. Eine praktische Anwendung für diesen Befehl wäre z.B., eine Meldung nur kurz anzuzeigen.

Das unten angeführte Makro Textfeld_anzeigen erzeugt in der aktuellen Arbeitsmappe ein Textfeld mit dem Inhalt "Guten Morgen". Nach der in der zweitletzten Zeile eingetragenen Zeit - im Beispiel sind es zehn Sekunden - wird das Makro Textfeld_loeschen gestartet, das den Gruß wieder entfernt.

Wenn Sie eine andere Zeitspanne bis zum Start des zweiten Makros wünschen, müssen Sie den Zeitwert entsprechend ändern. Damit das zweite Makro nach genau einer Stunde aktiv wird, müsste der Zeitwert 01:00:00 eingestellt werden, um es nach 22 Minuten und 10 Sekunden zu starten, auf 00:22:10.

Achtung: Bei Fehlermeldung "Makro yxz konnte nicht gefunden werden" bitte die Makros aus einem Modul heraus aufrufen!

Makrolisting zum Erzeugen eines Textfeldes:

Sub Textfeld_anzeigen()
ActiveSheet.TextBoxes.Add(80, 80, 434, 94).Select
Selection.Characters.Text = "Guten Morgen!"
With Selection.Characters(Start:=1, Length:=13).Font
  Selection.Interior.ColorIndex = 20
  Selection.HorizontalAlignment = xlCenter
  Selection.VerticalAlignment = xlCenter
  .Name = "Times New Roman"  'oder: Arial
  .FontStyle = "Bold"        'Standard = Normalschrift
  .Size = 24
End With
Application.OnTime Now + TimeValue("00:00:10"), "Textfeld_loeschen"
End Sub

Makrolisting zum Löschen des Textfeldes:

Sub Textfeld_loeschen()
  ActiveSheet.TextBoxes(1).Select
  Selection.Delete
End Sub

Für Interessierte: Hier noch die "alte", jetzt ungültige Schreibweise in Deutsch:

Sub Textfeld_anzeigen()
AktivesBlatt.TextfeldListe.Hinzufügen(80,25; 80,25; 434,25; 94,5).Auswählen
Auswahl.Zeichen.Text = "Guten Morgen!"
Mit Auswahl.Zeichen(Start:=1; Länge:=13).Schriftart
  Auswahl.Innenbereich.FarbIndex = 20
  Auswahl.HorizontaleAusrichtung = xlZentriert
  Auswahl.VertikaleAusrichtung = xlZentriert
  .Name = "Arial"
  .Schriftstil = "Standard"
  .Größe = 24
Ende Mit
Anwendung.BeiZeit Jetzt + Zeitwert("00:00:10"); "Textfeld_loeschen"
Ende Sub
Sub Textfeld_loeschen()
  AktivesBlatt.TextfeldListe(1).Auswählen
  Auswahl.Löschen
End Sub

Mehr Tipps: Excel - Wildcard * (Platzhalter) im Text suchen

Sponsoren und Investoren

Sponsoren und Investoren sind jederzeit herzlich willkommen!
Wenn Sie die Information(en) auf dieser Seite interessant fanden, freuen wir uns über eine kleine Spende. Empfehlen Sie uns bitte auch in Ihren Netzwerken (z. B. Twitter, Facebook oder Google+). Herzlichen Dank!

Nach oben Sitemap
Impressum & Kontakt