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

Forumthread: 2 Zellen gegeneinander verriegeln (Wippe)

2 Zellen gegeneinander verriegeln (Wippe)
ChrisW
Hallo Leute,
ich möchte in einem Blatt zwei Zellen gegeneinander verriegeln so das entweder die eine Zelle ein x ODER die andere Zelle ein x bekommt - wie bei einer Wippe.
Beispiel:
Zelle A8: leer
Zelle A9: x
wenn ich in Zelle A8 jetzt ein x schreibe, dann soll in Zelle A9 das x gelöscht werden.
Wenn ich später in Zelle A9 das x schreibe, dann soll die Zelle A8 automatisch leer werden.
Ich habe das versucht mit VBA mit Sub Worksheet_Change... aber das führt zu einer Endlosschleife, da sich jede Änderung wechselseitig aufruft.
If Range("A8").Value = "x" Then
Range("A9").Value = ""
Else
Range("A9").Value = "x"
End If
If Range("A9").Value = "x" Then
Range("A8").Value = ""
Else
Range("A8").Value = "x"
End If
Das funktioniert so aber nicht ;c(
Wer kann mir mit VBA weiterhelfen?
Vielen Dank
Chris
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: 2 Zellen gegeneinander verriegeln (Wippe)
05.10.2010 17:41:41
EvilRik
Hallo Chris,
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column = 1 And .Row = 8 Then
If .Value = "x" Then .Offset(1, 0) = "": Exit Sub
End If
If .Column = 1 And .Row = 9 Then
If .Value = "x" Then .Offset(-1, 0) = "": Exit Sub
End If
End With
End Sub
Gruß Henrik
Anzeige
2 Zellen gegeneinander verriegeln (Wippe)
05.10.2010 20:12:07
Erich
Hi Chris,
probier mal

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Count = 1 And .Column = 1 And (.Row = 8 Or .Row = 9) Then
Application.EnableEvents = False
Cells(17 - .Row, 1) = Left("x", Abs(.Value  "x"))
Application.EnableEvents = True
End If
End With
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
Respekt! Erich ;-)
05.10.2010 21:13:12
CitizenX
ganz schön clever!
Grüße
Steffen
Super Lösungen !!!
06.10.2010 08:44:01
ChrisW
Hallo Erich, Hallo Henrik,
beide Lösungen klappen echt super - Vielen Dank
Chris
Vereinfachung
06.10.2010 17:34:52
Erich
Hi,
so ist es noch etwas klarer:

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Address = "$A$8" Or .Address = "$A$9" Then
Application.EnableEvents = False
Cells(17 - .Row, 1) = Left("x", Abs(.Value  "x"))
Application.EnableEvents = True
End If
End With
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
Radiobutton - LinkedCell
06.10.2010 12:00:57
Klaus
Hallo Chris,
wenn Erich's Lösung für dich funktioniert ist alles gut - nur fürs Archiv:
Ich hätte das ganze mit zwei RadioButtons gelöst, die mit A8 und A9 als linkedCell verbunden sind.
Grüße,
Klaus M.vdT.
;

Forumthreads zu verwandten Themen

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige