X in Spalte Ja oder Nein
Hallo zusammen,
ich habe eine Ja-Spalte und eine Nein-Spalte mit ständig veränderbaren Anzahl von Zeilen. Wenn ich einen Doppelklick in die Spalte "JA" mache erscheint ein X jedoch auch in Spalte "Nein".
Ich möchte aber bei einem Doppelklick in Spalte Ja ein X und Spalte NEIN soll leer bleiben und umgekehrt.
Ich habe folgenden Code, der mir bei einem Doppelklick ein X in das gewünschte Feld setzt.
Es soll das X aber nur in den Spalten Ja oder Nein setzten und auf dem restlichen Tabellenblatt soll der Doppelklick nicht funktionieren
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
Target.Value = "X"
End Sub
Kann mir bitte jemand helfen.
Danke im Voraus
Mfg Julia
Antwort schreiben
Antwort 1 von M.O. vom 23.06.2022, 20:27 Options
Hallo Julia,
versuch es mal mit dem folgenden Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Target.Column = 1 Or Target.Column = 2 Then Target.Value = "X"
End Sub
Hier funktioniert der Doppelklick nur in den Spalten A und B. Den Code musst du natürlich auf deine Verhältnisse anpassen.
Gruß
M.O.
Antwort 2 von Tech07 vom 23.06.2022, 21:33 Options
Hallo M.O.
funktioniert soweit ganz gut, jedoch kann ich in beiden Spalten gleichzeitig das X setzten. Es soll aber nur in der Ja- oder Nein-Spalte ein X stehen, die Spalte die ich nicht anklicke soll leer bleiben.
Vielleicht hast Du dafür auch eine Antwort parat. ;-)
Gruß Julia
Antwort 3 von M.O. vom 24.06.2022, 08:48 Options
Hallo Julia,
probier mal den folgenden Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Target.Column = 1 Or Target.Column = 2 Then
Cells(Target.Row, 1).Clear
Cells(Target.Row, 2).Clear
Target.Value = "X"
End If
End Sub
Den Code musst du natürlich noch entsprechend anpassen.
Gruß
M.O.
Antwort 4 von Tech07 vom 24.06.2022, 09:54 Options
Hallo M.O.
sorry, habe ich vergessen zu erwähnen, dass die Zellen in denen das X stehen soll verbundene Zellen sind. Ich bekomme daher einen Laufzeitfehler 1004 "Kann Teil einer verbunden Zelle nicht ändern".
Gibt es noch Möglichkeiten/Code die beiden Zellen vor Eingabe des X zu leeren?
Grüße Julia
Antwort 5 von M.O. vom 24.06.2022, 10:28 Options
Hallo Julia,
irgendjemand hat mal gesagt:
Zitat:
Verbundene Zellen sind der natürliche Feind der VBA-Programmierung
Also überleg mal, ob die verbundenen Zellen wirklich notwendig sind.
Wenn du den Inhalt von verbundenen Zellen löschen willst, musst du beide Zellen ansprechen.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Target.Column = 1 Or Target.Column = 2 Then
Range(Cells(Target.Row, 1),Cells(Target.Row,2)).Clear
Range(Cells(Target.Row, 3),Cells(Target.Row,4)).Clear
Target.Value = "X"
End If
End Sub
Gruß
M.O.
Antwort 6 von M.O. vom 24.06.2022, 10:46 Options
Hallo Julia,
habe gerade festgestellt, dass mit der Anwendung von Clear auch die verbundenen Zellen wieder aufgeteilt werden.
Nimm stattdessen ClearContents
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Target.Column = 1 Or Target.Column = 2 Then
Range(Cells(Target.Row, 1),Cells(Target.Row,2)).ClearContents
Range(Cells(Target.Row, 3),Cells(Target.Row,4)).ClearContents
Target.Value = "X"
End If
End Sub
Gruß
M.O.
Antwort 7 von nighty vom 24.06.2022, 17:55 OptionsLösung
hi all :-)
statt eines x koennte man auch den geforderten bereich wingdings formatieren und das haeckchen benutzen das mit ü errreichbar waere
gruss nighty