Und noch eine Frage zu "Worksheet_Change"

13/03/2008 - 10:15 von Jascha Lendeckel | Report spam
Hallo NG,

Wie ich weiter oben schon erklàrt habe, schreibe ich gerade an einem
Script, das Abhàngig von der Eingabe in bestimmte Zellen, neue
Tabellenblàtter erzeugt und diese dann auch untereinander verlinkt.
Dabei wird die "Worksheet_Change"-Prozedur natürlich immer wieder
aufgerufen. Um die mehrfache Bearbeitung zu unterbinden, habe ich eine
Globale Variable erzeugt, die am Anfang der Prozedur abgefragt wird.
Ist die Variable Aktiv wird die Prozedur abgebrochen, ansonsten wird
sie gesetzt und am Ende der Prozedur zurückgesetzt.

Public Change_Activ As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)
If Change_Activ = True Then Exit Sub
Change_Activ = True ' Verhindert rekursive Aufrufe

<Inhalt>

Change_Activ = False
End Sub

Die Frage ist, gibt es auch eine Lösung ohne die Globale Variable?

Gruß

Jascha Lendeckel

Versuche nicht, ein erfolgreicher, sondern ein wertvoller Mensch zu
werden.

Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.

[Albert Einstein]
 

Lesen sie die antworten

#1 Alexander Wolff
13/03/2008 - 10:31 | Warnen spam
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
' Code
Application.EnableEvents = True
End Sub

könnte sein, was Du brauchst. Das ist immer sinnvoll, wenn das Ereignis
einen Wert àndert und sich dadurch selbst aufriefe.
Moin+Gruss Alexander - MVP für MS Excel - www.xxcl.de - mso2000sp3 --7-2

Ähnliche fragen