Herbers Excel-Forum - das Archiv
"x" per Doppelklick / 2. "x" löschen
Betrifft: "x" per Doppelklick / 2. "x" löschen
von: Carsten
Geschrieben am: 14.10.2003 09:45:52
Hallo zusammen,
mit folgendem Makro füge ich per Doppelklick ein "x" in eine Zelle ein bzw. lösche das "x" wieder.
Es soll innerhalb des Bereiches jedoch nur ein "x" pro Zeile zulässig sein. Wenn möglich soll, wenn ein zweites "x" in eine Zeile gesetzt wird, das erste gelöscht werden.
Hat jemand eine Idee?
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim RaBereich As Range
Set RaBereich = Range("D6:AA146")
If Intersect(Target, RaBereich) Is Nothing Then Exit Sub
Application.EnableEvents = False
Cancel = True
If Target.Value = "x" Then
Target.Value = ""
Else
Target.Value = "x"
End If
Application.EnableEvents = True
Set RaBereich = Nothing
End Sub
Gruß
Carsten
Betrifft: AW: "x" per Doppelklick / 2. "x" löschen
von: Hajo_Zi
Geschrieben am: 14.10.2003 09:49:52
Hallo Carsten
schaue mal auf meine Homepage da ist ein Beispiel und dort Tabelle 1 wäre ein Ansatz.
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
http://home.media-n.de/ziplies/
Betrifft: AW: "x" per Doppelklick / 2. "x" löschen
von: Carsten
Geschrieben am: 14.10.2003 10:25:45
Hallo Hajo,
das hat schon mal geklappt, danke.
Der Code sieht jetzt so aus. Allerdings krieg ich's nicht hin, dass ein bestehendes "x" bei Doppelklick auf die selbe Zelle gelöscht wird. Ich weiß nicht, wie und wo ich das if... einbauen muß.
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
' erstellt von Hajo.Ziplies@web.de 21.03.03
If Target.Column < 28 And Target.Row > 5 Then
' ActiveSheet.Unprotect
Cancel = True
With Range("D" & Target.Row & ":AA" & Target.Row)
.Cells = ""
End With
With Target
.Cells = "x"
End With
' ActiveSheet.Protect
End If
End Sub
Gruß
Carsten
Betrifft: AW: "x" per Doppelklick / 2. "x" löschen
von: Hajo_Zi
Geschrieben am: 14.10.2003 10:33:01
Hallo Carsten
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim BoVorhanden As Boolean
If Target.Column > 3 And Target.Column < 28 And Target.Row > 5 Then
BoVorhanden = Target.Value = "x"
' ActiveSheet.Unprotect
Cancel = True
Range("D" & Target.Row & ":AA" & Target.Row).Cells = ""
If BoVorhanden = False Then Target.Cells = "x"
' ActiveSheet.Protect
End If
End Sub
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
http://home.media-n.de/ziplies/
Betrifft: Super, vielen Dank Hajo (o.T.)
von: Carsten
Geschrieben am: 14.10.2003 10:37:53