Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Eine Frage, was bewirkt:Application.EnableEvents =

Eine Frage, was bewirkt:Application.EnableEvents =
27.02.2009 09:18:53
Karsten
Hallo...
Eine Frage, was bewirkt:
Application.EnableEvents = True bzw. False
Danke
Karsten
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
VBA Help
27.02.2009 09:27:47
Renee
Hi Karsten,
Im VBE Editor Cursor auf das Wort EnableEvents setzten und F1 drücken:

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


GreetZ Renée
Anzeige
AW: VBA Help
27.02.2009 09:42:20
Karsten
Hallo Renee,
Danke
Gruß
Karsten
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Anwendung der EnableEvents-Eigenschaft in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Öffne den Visual Basic Editor (VBE) in Excel, indem Du ALT + F11 drückst.

  2. Füge ein neues Modul hinzu: Rechtsklick auf „VBA-Projekt“ > Einfügen > Modul.

  3. 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
  4. Führe das Makro aus: Mit F5 oder über das Menü Run.

  5. Überprüfe die Auswirkungen: Achte darauf, dass während der Ausführung von Application.EnableEvents = False keine Ereignisse ausgelöst werden.


Häufige Fehler und Lösungen

  • Fehler: Ereignisse werden nicht wieder aktiviert.

    • Lösung: Stelle sicher, dass 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.

    • Lösung: Wenn Du vergessen hast, die Ereignisse wieder zu aktivieren, kann Excel in einem Zustand verharren, in dem keine Ereignisse mehr ausgeführt werden. Nutze den Task-Manager, um Excel zu schließen, und überprüfe Deinen Code.

Alternative Methoden

  • 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.


Praktische Beispiele

  1. Deaktivieren von Ereignissen beim Speichern:

    Sub SpeichernOhneEreignisse()
       Application.EnableEvents = False
       ActiveWorkbook.Save
       Application.EnableEvents = True
    End Sub
  2. Verhindern von doppeltem Auslösen:

    Private Sub Worksheet_Change(ByVal Target As Range)
       Application.EnableEvents = False
       ' Deine Logik hier
       Application.EnableEvents = True
    End Sub

Tipps für Profis

  • Dokumentiere Deinen Code: Füge Kommentare hinzu, um klarzustellen, wann Du Application.EnableEvents aktivierst oder deaktivierst.
  • Teste in einer sicheren Umgebung: Arbeite mit Kopien Deiner Arbeitsblätter, um unerwartete Konsequenzen zu vermeiden.
  • Bedenke Performance: Das häufige Aktivieren und Deaktivieren von Ereignissen kann die Performance beeinträchtigen. Nutze es nur, wenn nötig.

FAQ: Häufige Fragen

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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige