Abfangen von Worksheet_Change-Ereignis

Bild

Betrifft: Abfangen von Worksheet_Change-Ereignis
von: Lupus
Geschrieben am: 20.11.2003 11:34:07

Hallo Excel-User,

In einer Tabelle habe ich ein Worksheet_Change-Ereignis für die Spalten A bis G hinterlegt.

Wenn in Spalte A ein bestimmter Wert eingetragen wird, werden bestimmte Werte in Zellen der Spalten B bis G der target.row eingetragen.

Nun ist jedoch für jede Spalte (A bis G) ein Worksheet_Change-Ereignis definiert, so dass der Code vielfach abgearbeitet wird.

Wie kann man es erreichen, dass, wenn z. B. in der ersten Spalte sich ein Wert verändert (und dafür sorgt, dass in anderen Zellen Werte eingetragen werden und somit erneut das Worksheet_Change-Ereignis aufgerufen wird) das Worksheet_Change-Ereignis für die anderen Zellen temporär unterdrückt wird?

Vielleicht mit einer Do While-Schleife und einer Boolean-Variable?

Gruß Lupus

Bild


Betrifft: AW: Abfangen von Worksheet_Change-Ereignis
von: K.Rola
Geschrieben am: 20.11.2003 11:38:00

Hallo,

Application.EnableEvents zeitweilig auf False setzen.

Gruß K.Rola


Bild


Betrifft: AW: Abfangen von Worksheet_Change-Ereignis
von: Lupus
Geschrieben am: 21.11.2003 14:15:00

Hallo K.Rola,

erstmal danke; leider kann ich mit Deinem Hinweis nicht viel anfangen, da ich nicht weis, wo ich diese Zeile einfügen muß.

Mittlerweile habe ich eine Lösung gefunden, die den Code allerdings ein bisschen erweitert hat.

Lösung:
- Für jede Spalte habe ich eine Boolean-Variable deklariert.
- Überprüfung ob Boolean-Variable = True, wenn ja GoTo Sprungmarke
- Am Ende des Codes ist die Sprungmarke gesetzt.
- In jeder IF-Bedingung (,die abfragt, in welcher Spalte sich die veränderte Zelle befindet,) wird die Boolean-Variable zuerst auf True gesetzt, dann folgt Code, der andere Zellen verändert, Boolean-Variable auf False setzen und Exit Sub.
- Dann, If Boolean-Variable = True Then GoTo Sprungmarke

Gruß Lupus


Bild

Beiträge aus den Excel-Beispielen zum Thema " Abfangen von Worksheet_Change-Ereignis"