Probiers mal mit
Option Explicit
Dim AlteFarbe(1 To 100) As Integer, AlteZeile As Long, MarkierteZelle As String, i As Long, j As Long
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim myCell
If Target.Count > 1 Then Exit Sub
ActiveSheet.Unprotect "Test"
If MarkierteZelle = "" Then
MarkierteZelle = Target.Address
If Intersect(Target, Range("A:F")) Is Nothing Then Exit Sub
i = Intersect(Target, Range("A:F")).Row
For j = 1 To 6
AlteFarbe(j) = Cells(i, j).Interior.ColorIndex
Next
AlteZeile = i
Range("A" & i & ":F" & i).Interior.ColorIndex = 4
Else
If Cells(AlteZeile, 1).Interior.ColorIndex = 4 Then
For j = 1 To 6
Cells(AlteZeile, j).Interior.ColorIndex = AlteFarbe(j)
Next
End If
MarkierteZelle = Target.Address
If Intersect(Target, Range("A:F")) Is Nothing Then Exit Sub
i = Intersect(Target, Range("A:F")).Row
For j = 1 To 6
AlteFarbe(j) = Cells(i, j).Interior.ColorIndex
Next
AlteZeile = i
Range("A" & i & ":F" & i).Interior.ColorIndex = 4
End If
ActiveSheet.Protect "Test"
End Sub