Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wichtig:!!! enable events

Forumthread: Wichtig:!!! enable events

Wichtig:!!! enable events
11.02.2004 15:54:48
Jonathan
Hey, ich habe ein riesiges Prblem, was ich nicht lösen kann.
Wenn ich eine Datei öffne, die makros aktiviere, trotzdem sind die makros die automatisch ausgeführt werden, also WBopen, beim ändern einer zelle usw usw deaktiviert!!!!
ich weiß nicht warum!!!
ich habe jetzt schon in jedes ereignis
application.enableevents = true
geschrieben, das ändert aber nichts!!!

Grüße
Jonathan
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wichtig:!!! enable events
11.02.2004 15:59:15
Jens
Hi
Das Problem tritt bei mir immer auf wenn ich mal einen Fehler in einen Programm hatte und das nicht wieder auf True geschalten wurde.
Dazu hab ich in meiner Personal.xls ein kleines Programm das den Fehler wieder behebt.

Sub Events_on()
Application.EnableEvents = True
End Sub

Das kurz ausgführt und schon sollte es wieder gehen.
Hinweis. ein schließen und wieder öffnen von Excel bringt keine Änderung!
Gruß Jens
Anzeige
AW: Wichtig:!!! enable events
11.02.2004 15:59:41
Bert
Poste mal den Code in WorkbookOpen.
Bert
AW: Wichtig:!!! enable events
11.02.2004 15:59:58
Boris
Hi Jonathan,
kopiere diesen Code in irgendein Modul, setze den Cursor auf die mittlere Zeile, drücke F5 - lösche den Code wieder und probier´s dann mal aus.

Sub mach_wieder_an()
Application.EnableEvents = True
End Sub

Grüße Boris
Anzeige
AW: Wichtig:!!! enable events
11.02.2004 16:06:27
Jonathan
danke für die schnellen antworten!
bringt aber alles nichts!
hab ich schon alles ausprobiert. das komische ist ja auch, dass die manchmal beim öffnen aktiviert sind und manchmal nicht........
die subs hab ich auch schon getestet, nach jedem enableevents = false habe ich die auch wieder auf true gesetzt.

für was gilt das eigentlich? für alle mappen in excel, oder wird das nur in der datei gespeichert und gilt nur für die jeweilige mappe?

Jonathan
Anzeige
AW: Wichtig:!!! enable events
11.02.2004 16:13:22
Jens
Hi
Die Einstellung gilt für Excel, also alle Mappen.
Makros manuell starten kannst?
Gruß Jens
erledigt!!!
11.02.2004 16:14:53
Jonathan
hab in einer Sub welche beim öffnen aufgrufen wird, vergessen wieder auf true zu setzten!
Danke Euch!
Jonathan
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Anwendung von EnableEvents in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11 in Excel.
  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle Einfügen > Modul.
  3. Schreibe den Code für EnableEvents:

    • Füge folgenden Code in das Modul ein:
    Sub Events_on()
       Application.EnableEvents = True
    End Sub
  4. Führe den Code aus:

    • Setze den Cursor auf die Zeile mit Application.EnableEvents = True und drücke F5.
  5. Überprüfe die Funktionsweise:

    • Teste, ob die Makros wie erwartet funktionieren. Wenn nicht, überprüfe, ob irgendwo Application.EnableEvents = False gesetzt wurde.

Häufige Fehler und Lösungen

  • Fehler: Makros werden nicht automatisch ausgeführt.

    • Lösung: Überprüfe, ob Application.EnableEvents = False in deinem Code gesetzt wurde. Wenn ja, stelle sicher, dass es anschließend wieder auf True gesetzt wird.
  • Fehler: Das Aktivieren der Ereignisse funktioniert nicht nach einem Excel-Neustart.

    • Lösung: Manchmal wird das Event-Flag nicht richtig zurückgesetzt. Verwende den Code Application.EnableEvents = True in deinem Workbook_Open-Ereignis.

Alternative Methoden

  • Manuelles Aktivieren von Ereignissen:

    • Du kannst auch Ereignisse manuell aktivieren, indem du im VBA-Editor eine Subroutine erstellst und den Code dort ausführst. Beispiel:
    Sub EnableEventsManuell()
      Application.EnableEvents = True
    End Sub
  • Verwendung von Fehlerbehandlungsroutinen:

    • Um sicherzustellen, dass EnableEvents immer auf True gesetzt wird, kannst du eine Fehlerbehandlung in deine Subroutine einfügen.

Praktische Beispiele

  1. Workbook_Open Beispiel:

    • Stelle sicher, dass beim Öffnen der Arbeitsmappe die Ereignisse aktiviert werden:
    Private Sub Workbook_Open()
       Application.EnableEvents = True
    End Sub
  2. Ereignisse in einer anderen Subroutine aktivieren:

    • Wenn in einer anderen Subroutine das Ereignis deaktiviert wird, stelle sicher, dass du es dort aktivierst:
    Sub Beispiel()
       Application.EnableEvents = False
       ' ... dein Code ...
       Application.EnableEvents = True
    End Sub

Tipps für Profis

  • Verwende Application.EnableEvents immer mit Bedacht. Deaktiviere es nur, wenn es notwendig ist, um ungewollte Trigger zu vermeiden.
  • Füge immer eine Fehlerbehandlung hinzu, um sicherzustellen, dass EnableEvents im Fehlerfall zurückgesetzt wird.
  • Nutze Debugging, um herauszufinden, wo in deinem Code EnableEvents möglicherweise versehentlich deaktiviert wird.

FAQ: Häufige Fragen

1. Was bedeutet Application.EnableEvents = False? Mit dieser Anweisung werden alle Ereignisse in Excel deaktiviert, sodass z.B. Makros, die bei Änderungen in Zellen ausgelöst werden, nicht mehr ausgeführt werden.

2. Gilt die Einstellung für alle Arbeitsmappen? Ja, Application.EnableEvents gilt für die gesamte Excel-Anwendung, nicht nur für die aktuelle Arbeitsmappe.

3. Wie kann ich sicherstellen, dass Ereignisse immer aktiviert sind? Füge in deiner Workbook_Open Subroutine Application.EnableEvents = True hinzu, sodass die Ereignisse beim Öffnen der Datei automatisch aktiviert werden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige