Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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

Anzeige

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
Anzeige
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

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige