Makro sicher mit "ESC" beenden in Excel
Schritt-für-Schritt-Anleitung
Um ein Makro in Excel sicher mit der "ESC" Taste zu beenden, folge diesen Schritten:
-
Öffne den Visual Basic for Applications (VBA) Editor:
- Drücke
ALT + F11, um den VBA-Editor zu öffnen.
-
Füge den Code in dein Makro ein:
- Du kannst den folgenden Beispielcode verwenden, um das Abbrechen des Makros zu ermöglichen:
Private Sub CommandButton1_Click()
Dim X
X = 0
On Error GoTo Errorhandler
Application.EnableCancelKey = xlErrorHandler
Marke2:
Range("G15").Select
Worksheets("Grafik").Range("B1").Value = X
X = X + 0.01744444444
GoTo Marke2:
Errorhandler:
End Sub
-
Speichere dein Projekt:
- Vergiss nicht, die Datei als Makro-aktivierte Arbeitsmappe (*.xlsm) zu speichern.
-
Starte das Makro:
- Teste dein Makro, indem du auf den Button klickst. Drücke "ESC", um das Makro zu beenden.
Häufige Fehler und Lösungen
-
Fehler: Excel zeigt eine Fehlermeldung an, wenn "ESC" gedrückt wird:
- Lösung: Stelle sicher, dass der Befehl
On Error GoTo Errorhandler korrekt platziert ist, um Fehlermeldungen zu unterdrücken.
-
Das Makro reagiert nicht auf "ESC":
- Lösung: Überprüfe, ob
Application.EnableCancelKey auf xlErrorHandler gesetzt ist. Andernfalls wird das "ESC" Signal ignoriert.
Alternative Methoden
Wenn Du keine Schleifen hast oder eine einfachere Lösung benötigst, kannst Du auch den DoEvents Befehl verwenden. Dieser ermöglicht Excel, auf Benutzeraktionen zu reagieren, während das Makro läuft. Ein einfaches Beispiel wäre:
Do While X < 100
DoEvents
' Weitere Codezeilen
Loop
Praktische Beispiele
Hier ist ein einfaches Beispiel, um ein Makro zu erstellen, das eine Anzahl von Iterationen durchführt, und dabei die "ESC" Taste verwendet, um es abzubrechen:
Sub TestMacro()
Dim i As Integer
Dim X As Long
X = 0
On Error GoTo Errorhandler
Application.EnableCancelKey = xlErrorHandler
For i = 1 To 1000
Worksheets("Sheet1").Cells(i, 1).Value = X
X = X + 1
DoEvents ' Dies ermöglicht das Abbrechen des Makros mit "ESC"
Next i
Errorhandler:
End Sub
Tipps für Profis
-
Verwende DoEvents: Dies ist besonders nützlich, wenn Du ein langlaufendes Makro hast. Es erlaubt Excel, auf Tasteneingaben zu reagieren, während das Makro ausgeführt wird.
-
Kombiniere die Nutzung von ESC mit Statusanzeigen: Du kannst eine Statusanzeige in deinem Makro einfügen, die dem Benutzer anzeigt, wie lange der Vorgang noch dauern könnte.
FAQ: Häufige Fragen
1. Kann ich den "ESC" Befehl in allen Makros verwenden?
Ja, Du kannst den "ESC" Befehl in allen Makros verwenden, indem Du die oben beschriebenen Techniken anwendest.
2. Muss ich den Code in jedes Modul einfügen?
Nein, Du musst den Code nur in das spezifische Makro einfügen, das Du abbrechen möchtest. Es ist nicht erforderlich, ihn in jedem Modul oder jeder Prozedur zu wiederholen.