Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
736to740
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
736to740
736to740
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Worksheet_Change vorübergehend deaktivieren

Worksheet_Change vorübergehend deaktivieren
01.03.2006 17:11:18
torsten
Hallo Leute,
- MEINE EXCELVERSION IST 2002 - SP2 -
Ich habe ein mittlerweile ziemlich umfangreiches Workbook, mit mehreren Sheets, CommandButtons, etc. erstellt. Z.Zt. lasse ich 2 meiner Sheets per "Worksheet_Change" überwachen, damit keine unerlaubten Änderungen vorgenommen werden können. Dazu habe ich im Rumpf von "Worksheet_Change" jeweils die entsprechendes Ranges angegeben und lasse sie entspr. überwachen.
Manchmal veranlasst der Benutzer jedoch völlig legitime Änderungen (einlesen von Daten, aus einer Quelle) in dem überwachten Sheet. Bei diesen Änderungen, die nicht von Hand geschehen, sondern per Quellcode, soll die Überwachung deaktiviert werden.
Z.Zt. realisiere ich dies mit einer globalen booleschen Variablen (deactShChange). Dabei setze ich sie zu Beginn des auszuführenden Codes auf True und am Ende eben wieder auf FALSE.
Es funktioniert zwar, aber was mich daran nervt, ist, dass jedesmal die Sub ausgeführt wird. Z.Zt. ist mein Workbook dadurch nicht langsamer, aber es nervt mich irgendwie trotzdem, obwohl der Rumpf bereits in der 2 Zeile abgebrochen wird. Als würde es nicht schon reichen, dass ich jeder "legitimen"-Prozedur ein setTrue und ein setFalse verpassen musste.
Frage:
Ist es möglich, statt der setTrue&False-Geschichte einfach ein
de-/activate_Worksheet_Change zu verwenden ?
Gruß

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worksheet_Change vorübergehend deaktivieren
01.03.2006 17:50:07
Heiko
Hallo Thorsten,
Auszug aus der VBA Hilfe:
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
Damit wird aber auch das Worksheet_Change Event und noch viele andere abgeschaltet.
Also Events auf False, deine Code zum ändern, Events auf True, Fertig.
Gruß Heiko
PS: Rückmeldung wäre nett
Anzeige

22 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige