Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
684to688
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
684to688
684to688
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Worksheet_Change-Ereignis reagiert "fehlerhaft"

Worksheet_Change-Ereignis reagiert "fehlerhaft"
20.10.2005 08:46:10
Timo
Hi!
Ich habe ein Problem mit dem Worksheet_Change Ereignis. Es reagiert leider nicht immer so, wie man es unbedingt erwartet. Ich habe einen extremen Sonderfall, der sich aber gravierend auswirken kann:
In einem Worksheet_Change-Event entsperre ich das Sheet zunächst und sperre es anschließend wieder. Wenn ich mich in einer Zelle im Eingabe/Editier-Modus befinde und in diesem Moment (ohne vorher die Zelle zu verlassen) das Blatt wechsele (sowohl in derselben Arbeitsmappe, als auch in einem ganz anderen Workbook), wird das Sheet gesperrt, daß ich gerade aktivieren will...
Ich habe jetzt schon mehrere Dinge versucht, um dieses Phänomen zu unterbinden, komme aber auf keine Lösung....
Kann mir jemand helfen?
Danke und Gruß
Timo

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worksheet_Change-Ereignis reagiert "fehlerhaft"
20.10.2005 09:45:56
Andi
Hi,
vielleicht isses noch zu früh für mich, aber ich kapier das ned so ganz...
"In einem Worksheet_Change-Event entsperre ich das Sheet zunächst [...]"
Wie kann denn in einem (noch) gesperrten sheet überhaupt ein change-Ereignis auftreten?
Reden wir hier vielleicht über Selection-Change?
Vielleicht postest Du mal a bisserl Code...
Schönen Gruß,
Andi

AW: Worksheet_Change-Ereignis reagiert "fehlerhaft"
20.10.2005 11:32:53
Timo
No...
Es geht schon um Worksheet_Change(ByVal Target As Excel.Range). Ich kann in einem gesperrten Sheet ungeschützte Zelle bearbeiten und so das Event auslösen. Will ich aber über ein Makro geschützte Zellbereiche bearbeiten, muß ich das Sheet erst entsperren und anschließend wieder sperren.
Hier mein Code, der aber meiner Meinung nach nicht besonders viel aussagt... In der Funktion "Markierungen_setzen" entsperre ich das Sheet und sperre es anschließend wieder.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
' Aufruf der Funktion zum Prüfen, ob die Konstellation bei Frage 1 korrekt ist
Gesamtfreigabe_pruefen Worksheets("Freigabe DM").Range("dm_freigabe"), Worksheets("Freigabe DM").Range("dm_freigabe_maßnahmen"), _
Worksheets("Freigabe DM").Range("dm_keine_freigabe"), Target
' Aufruf zum Setzen der farblichen Markierung auf dem Blatt DM
Markierungen_setzen Worksheets("Freigabe DM").Range("dm_kreuz_check"), Worksheets("Freigabe DM").Range("dm_pruefbereich")
End Sub

Anzeige
AW: Worksheet_Change-Ereignis reagiert "fehlerhaft"
20.10.2005 11:45:27
Andi
Hi,
dachte ich's mir doch, dass es zu früh war, auf die freigegebenen Zellen hätte ich auch kommen können. :-)
Wenn Du ein sheet mit
Worksheets("Tabelle1").Protect userinterfaceonly:=True
schützt, dann musst Du den Schutz nicht extra aufheben, um per Makro an der Tabelle rumzufummeln (beachte den Doppelpunkt, sonst funkts nicht...).
Schönen Gruß,
Andi
AW: Worksheet_Change-Ereignis reagiert "fehlerhaft"
21.10.2005 07:29:43
Timo
Okay, ist richtig... Ich will aber meinen Code nicht mehr allzu drastisch abändern. So müßte ich bei jedem Öffnen alle Sheets durchlaufen und mit UserInterfaceOnly sperren.
Außerdem will ich verhindern, daß durch ein "fehlerhaftes" Ausführen von Anweisungen im Worksheet_Change ein Sheet verändert wird, daß sich eigentlich gar nicht im Fokus befindet. Ich habe mir weiterhin Fehler produziert, dadurch, daß ich auf Ranges via "ActiveSheet" zugegriffen habe.
Um so etwas zu vermeiden habe ich den gesamten Block mit folgender If-Abfrage umrahmt:
If ActiveSheet.Name = Target.Parent.Name Then
Das funktioniert auch soweit... Vielen Dank aber für deine Hilfe!
Gruß Timo
Anzeige
AW: Worksheet_Change-Ereignis reagiert "fehlerhaft"
21.10.2005 07:38:02
Timo
ACHTUNG!
Mir ist gerade aufgefallen: Das funktioniert nur bei "Worksheet_Change". Benutzt man das Event "Workbook_SheetChange" muß man die If-Abfrage erweitern... Warum das hierbei nicht funktioniert: Das weiß der Teufel...
If ActiveWorkbook.Name = Target.Parent.Parent.Name Then
Gruß Timo

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige