Makro automatisch bei Änderung starten
Schritt-für-Schritt-Anleitung
Um ein Excel Makro automatisch auszuführen, wenn eine Zelle geändert wird, kannst du das Worksheet_Change-Ereignis im VBA-Editor nutzen. Hier ist eine genaue Anleitung:
- Öffne dein Excel-Dokument und drücke
ALT + F11, um den VBA-Editor zu starten.
- Suche im Projektfenster auf der linken Seite nach deiner Arbeitsmappe und klicke doppelt auf das Tabellenblatt, für das du das Makro ausführen möchtest.
- Im rechten Fenster, das sich öffnet, wähle oben links "(Allgemein)" und dann "Worksheet".
- Rechts daneben wähle das "Change"-Ereignis aus.
-
Es wird eine leere Prozedur angelegt. Füge den folgenden Code ein:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("E2,D4:D5")) Is Nothing Then Exit Sub
Call Makro1
End Sub
Das obige Code-Snippet sorgt dafür, dass das Makro Makro1 ausgeführt wird, wenn die Zellen E2, D4 oder D5 geändert werden. Du kannst die Zellreferenzen nach Bedarf anpassen.
Häufige Fehler und Lösungen
Alternative Methoden
Falls du das Makro nicht über das Worksheet_Change-Ereignis starten möchtest, kannst du auch einen Excel Neu Berechnen Button erstellen:
- Gehe zu "Entwicklertools" > "Einfügen" und füge einen Button (Formularsteuerelement) ein.
- Weisen dem Button das gewünschte Makro zu.
- Klicke auf den Button, um das Makro auszuführen.
Praktische Beispiele
Hier ist ein weiteres Beispiel, wie du ein Makro automatisch ausführen kannst, wenn sich der Wert in einer anderen Zelle ändert:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Call Makro2
End If
End Sub
In diesem Beispiel wird Makro2 ausgeführt, wenn sich der Wert in Zelle A1 ändert.
Tipps für Profis
- Nutze
Application.EnableEvents = False in deinem Makro, um zu verhindern, dass das Ereignis erneut ausgelöst wird, während das Makro läuft.
- Denke daran,
Application.EnableEvents = True am Ende deines Makros wieder zu aktivieren.
FAQ: Häufige Fragen
1. Wie kann ich ein Makro ausführen, wenn sich der Wert in mehreren Zellen ändert?
Du kannst die Zellen im Intersect-Befehl angeben, wie im Schritt-für-Schritt-Anleitung beschrieben.
2. Kann ich ein Makro automatisch ausführen, wenn eine Zelle einen bestimmten Wert erreicht?
Ja, du kannst eine Bedingung im If-Befehl hinzufügen, um das Makro nur auszuführen, wenn der Wert in der Zelle die gewünschte Bedingung erfüllt.
Verwende diese Anleitung, um dein Excel Makro automatisch auszuführen, wenn Zellen geändert werden, und profitiere von den vielen Funktionen, die VBA zu bieten hat!