Eine Frage, was bewirkt:
Application.EnableEvents = True bzw. False
Danke
Karsten
EnableEvents-Eigenschaft
True, wenn Ereignisse für das angegebene Objekt aktiviert sind. Boolean Schreib-Lese- _
Zugriff.
Beispiel zur EnableEvents-Eigenschaft
In diesem Beispiel werden Ereignisse vor dem Speichern einer Datei deaktiviert, so dass das _
Ereignis BeforeSave nicht auftritt.
Application.EnableEvents = False
ActiveWorkbook.Save
Application.EnableEvents = True
Öffne den Visual Basic Editor (VBE) in Excel, indem Du ALT + F11
drückst.
Füge ein neues Modul hinzu: Rechtsklick auf „VBA-Projekt“ > Einfügen
> Modul
.
Schreibe den folgenden Code in das Modul:
Sub BeispielEnableEvents()
' Deaktiviert Ereignisse
Application.EnableEvents = False
' Deine Code-Logik hier
' Aktiviert Ereignisse wieder
Application.EnableEvents = True
End Sub
Führe das Makro aus: Mit F5
oder über das Menü Run
.
Überprüfe die Auswirkungen: Achte darauf, dass während der Ausführung von Application.EnableEvents = False
keine Ereignisse ausgelöst werden.
Fehler: Ereignisse werden nicht wieder aktiviert.
Application.EnableEvents = True
nach dem Hauptcode ausgeführt wird. Es ist ratsam, dies in einer Finally
-Logik oder im ErrorHandler
zu platzieren, um versehentliche Deaktivierungen zu vermeiden.Fehler: Programm reagiert nicht mehr.
Verwendung von With
-Anweisungen: Du kannst Application.EnableEvents
innerhalb einer With
-Anweisung nutzen, um den Code klarer strukturiert zu halten. Beispiel:
With Application
.EnableEvents = False
' Deine Logik hier
.EnableEvents = True
End With
Globale Fehlerbehandlung: Implementiere eine Fehlerbehandlungsroutine, um sicherzustellen, dass die Ereignisse immer reaktiviert werden, selbst wenn ein Fehler auftritt.
Deaktivieren von Ereignissen beim Speichern:
Sub SpeichernOhneEreignisse()
Application.EnableEvents = False
ActiveWorkbook.Save
Application.EnableEvents = True
End Sub
Verhindern von doppeltem Auslösen:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
' Deine Logik hier
Application.EnableEvents = True
End Sub
Application.EnableEvents
aktivierst oder deaktivierst.1. Was bewirkt Application.EnableEvents = False
?
Es deaktiviert alle Ereignisse in Excel, sodass keine automatischen Reaktionen auf Änderungen oder Aktionen stattfinden.
2. Wann sollte ich Application.EnableEvents = True
verwenden?
Du solltest es verwenden, um die Ereignisse nach dem Ausführen von Code wieder zu aktivieren, insbesondere um sicherzustellen, dass alle automatisierten Reaktionen wieder normal funktionieren.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen