VBA Schleife für Sperranweisung
Marc
In meiner Tabelle A, B, C, D (à 10 Zeilen) soll die jeweiligeSpalte gesperrt werden wenn in der Überschrift ein X steht.
Das soll heißen:
Wenn A1 = X dann sperre A2:A10
Wenn A1 = "" dann lass A2:A10 entsperrt
https://www.herber.de/bbs/user/71912.xls
Mit diesem Code funzt dass auch ganz gut.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then 'definiert Eingabefeld
Me.Unprotect
With Range("A2:A10") 'definiert Sperrbereich (Zellen wurden zuvor über Format entsperrt)
.Locked = UCase(Target.Value) = "X" 'wenn Eingabefeld=X dann sperre Sperrbereich
End With
End If
Me.Protect , UserInterfaceOnly:=True
End Sub
Wie bekomme ich nun aber eine Schleife hin dass diese Prüfung auch für die Spalten B,C,D durchgeführt wird? Meine Versuche waren bisher nicht sonderlich erfolgreich. Bitte nicht lachen - bin VBA Anfänger ;-)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
For i = 1 To 4
If Target.Address = Cells(1, i) Then
Me.Unprotect
With Range(Cells(2, i), Cells(10, i))
.Locked = UCase(Target.Value) = "X"
End With
End If
Next i
Me.Protect , UserInterfaceOnly:=True
End Sub