Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
704to708
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
704to708
704to708
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Excel 2003 - Intersect

Excel 2003 - Intersect
09.12.2005 14:14:20
Torsten
Hallo beisammen,
in Excel2000 konnte ich mit dem nachfolgenden Code in zwei Zellen (E11 und G11)trotz eines Blattschutzes durch ein Doppelklick in die entsprechende Zelle ein "ja" in ein "nein" umwandeln bzw. umgekehrt. Nach der Umstellung auf Excel2003 funktioniert das leider nicht mehr.
Könnt Ihr mir weiterhelfen?
Vielen Dank im voraus.
Gruß
Torsten

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'setzt bei Doppelklick ein "ja" in die Zelle
Dim RaBereich As Range
Set RaBereich = Range("E11, G11")
If Intersect(Target, RaBereich) Is Nothing Then Exit Sub
Sheets("FORM").Unprotect password:="PW"
'Abbruch, wenn Aktion nicht im Zielbereich
Application.EnableEvents = False
On Error GoTo errHandler
Cancel = True
If Target.Value = "ja" Then
Target.Value = "nein"
Else
Target.Value = "ja"
End If
Sheets("FORM").Protect password:="PW"
errHandler:
Application.EnableEvents = True
Set RaBereich = Nothing
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel 2003 - Intersect
09.12.2005 14:33:38
ANdreas
Hallo Torsten,
versuch es mal so:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'setzt bei Doppelklick ein "ja" in die Zelle
Dim RaBereich As Range
Set RaBereich = Range("E11,G11")
'Abbruch, wenn Aktion nicht im Zielbereich
If Application.Intersect(Target, RaBereich) Is Nothing Then Exit Sub
ActiveSheet.Protect Password:="PW", UserInterfaceOnly:=True
Application.EnableEvents = False
On Error GoTo errHandler
Cancel = True
If Target.Value = "ja" Then
Target.Value = "nein"
Else
Target.Value = "ja"
End If
Exit Sub
errHandler:
Application.EnableEvents = True
Set RaBereich = Nothing
End Sub

Hoffe das hilft weiter,
Andreas
Anzeige
AW: Excel 2003 - Intersect
09.12.2005 14:40:13
Torsten
Hallo Andreas,
vielen Dank für Deine rasche Antwort.
Leider hilft Deine Ergänzung auch nicht. Beim Doppelklick kommt nach wie vor die Meldung,
daß die Zelle schreibgeschützt ist. Selbst wenn ich den Schreibschutz rausnehme, wird beim Doppleklick nichts geändert.
Hast Du noch eine andere Idee?
Gruß
Torsten
AW: Excel 2003 - Intersect
09.12.2005 15:19:12
ANdreas
Hallo Torsten,
entschuldige, es hat sich ein Fehler eingeschlichen. Vermutlich sind die Events deaktiviert worden. Führe einfach ein Makro aus, dass diese wieder aktiviert oder starte Excel neu und versuchs so:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'setzt bei Doppelklick ein "ja" in die Zelle
Dim RaBereich As Range
Set RaBereich = Range("E11,G11")
'Abbruch, wenn Aktion nicht im Zielbereich
If Application.Intersect(Target, RaBereich) Is Nothing Then Exit Sub
ActiveSheet.Protect Password:="PW", UserInterfaceOnly:=True
Application.EnableEvents = False
On Error GoTo errHandler
Cancel = True
If Target.Value = "ja" Then
Target.Value = "nein"
Else
Target.Value = "ja"
End If
Application.EnableEvents = True
Exit Sub
errHandler:
Application.EnableEvents = True
Set RaBereich = Nothing
End Sub

Gruß
Andreas
Anzeige
AW: erledigt - mT
09.12.2005 15:28:00
Torsten
Hallo Andreas,
bestens - jetzt klappt's.
Übrigens zeigt sich jetzt auch die MsgBox wieder beim Öffnen der Datei (siehe Thread weiter oben).
Vielen Dank für Deine Mühe.
Gruß und schönes WE
Torsten

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige