Ich habe 3 Spalten, in die eine Wertigkeit von niedrig, mittel und hoch eingetragen werden soll. Dazu habe ich eine Lösung, die folgendermaßen aussieht:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim markiert, default As String
markiert = "X"
default = ""
If Not Intersect(Target, Range("E5:G103")) Is Nothing Then
Select Case Target.Value
Case default
Target.Value = markiert
Case markiert
Target.Value = default
End Select
Select Case Target.Column
Case 5
ActiveSheet.Cells(Target.Cells.Row, 6).Value = ""
ActiveSheet.Cells(Target.Cells.Row, 7).Value = ""
Case 6
ActiveSheet.Cells(Target.Cells.Row, 5).Value = ""
ActiveSheet.Cells(Target.Cells.Row, 7).Value = ""
Case 7
ActiveSheet.Cells(Target.Cells.Row, 5).Value = ""
ActiveSheet.Cells(Target.Cells.Row, 6).Value = ""
End Select
ActiveSheet.Cells(Target.Cells.Row, 22).Activate
End if
End Sub
Hierbei wird zum einen bei einem Klick in eine Zelle einer Zeile ein X sozusagen als Marker für die Wertigkeitsstufen gesetzt. Im zweiten Schritt wird eine mögliche Markierung in den beiden anderen Zellen gelöscht.So, im dritten Schritt lege ich den Fokus danach auf ein belanglose Zelle weiter hinten in der Zeile, denn, würde ich das nicht tun, wäre noch die Zelle aktiviert, in die ich gerade eine Markierung gesetzt habe. Würde ich erneut in die gleiche Zelle reinklicken, dann würde ich den Inhalt (also das X) modifizieren können, das will ich nicht.
Kann ich, um das Aktivieren einer anderen Zelle zu vermeiden, einfach die markierte Zelle deaktivieren, also dann eigentlich keine Zelle auswählen?
P