Makro automatisch starten und permanent laufen lassen
Schritt-für-Schritt-Anleitung
Um ein Makro in Excel automatisch zu starten und es permanent laufen zu lassen, kannst du die Methode Application.OnTime verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
-
Öffne den VBA-Editor:
- Drücke
ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
-
Füge ein neues Modul hinzu:
- Klicke mit der rechten Maustaste auf "VBAProject (deine Arbeitsmappe)" und wähle
Einfügen > Modul.
-
Schreibe dein Makro:
- Verwende den folgenden Code als Beispiel. Dieser wird alle 10 Sekunden ausgeführt:
Dim myValue1 As Variant
Dim myTimer As Date
Sub START()
' Hier kannst du deine Logik einfügen
If Range("B1").Value <> myValue1 Then
myValue1 = Range("B1").Value
If myValue1 > 3 Then Call sndPlaySound32("c:\M", 1)
End If
' Timer setzen
myTimer = Now + TimeValue("00:00:10") ' alle 10 Sekunden
Application.OnTime myTimer, "START"
End Sub
Sub STOP()
On Error Resume Next
Application.OnTime myTimer, "START", , False
End Sub
-
Starte das Makro:
- Führe das Makro
START aus, um den Timer zu aktivieren.
-
Stoppe das Makro:
- Verwende das Makro
STOP, um den Timer zu stoppen, wenn du es nicht mehr benötigst.
Häufige Fehler und Lösungen
Alternative Methoden
Eine weitere Möglichkeit, ein Makro automatisch zu starten, besteht darin, es über die Workbook_Open-Ereignisprozedur zu aktivieren. So wird das Makro beim Öffnen der Arbeitsmappe automatisch gestartet:
Private Sub Workbook_Open()
START
End Sub
Praktische Beispiele
-
Beispiel für ein Alarm-Makro:
Wenn du eine Alarmfunktion erstellen möchtest, die bei bestimmten Werten in Zelle B1 und C1 reagiert, kannst du den oben genannten Code verwenden und die Logik entsprechend anpassen.
-
Einfache Nutzungsanwendung:
Angenommen, du möchtest eine Zelle alle 5 Sekunden aktualisieren, dann passe den Timer wie folgt an:
myTimer = Now + TimeValue("00:00:05") ' alle 5 Sekunden
Tipps für Profis
- Debugging: Nutze die Debugging-Funktion im VBA-Editor, um deinen Code Schritt für Schritt zu überprüfen.
- Optimierung: Verwende
DoEvents, um die Benutzeroberfläche während der Ausführung des Makros responsive zu halten.
- Speichern: Speichere deine Arbeitsmappe als
.xlsm, damit die Makros erhalten bleiben.
FAQ: Häufige Fragen
1. Wie stoppe ich ein laufendes Makro?
Du kannst das Makro mit der STOP-Subroutine anhalten, die im Tutorial beschrieben ist.
2. Kann ich das Makro auch ohne VBA ausführen?
Mit Excel-Funktionen allein ist dies nicht möglich. VBA ist notwendig, um Automatisierungen und Timer zu implementieren.
3. Funktioniert das in allen Excel-Versionen?
Ja, die meisten Makrofunktionen sind in Excel 2007 und späteren Versionen verfügbar.