AW: Zelle bedingt sperren
30.03.2016 15:02:24
Steve
Hallo Markus, hallo selli,
Markus, wenn du dir den Namen des Makros anschaust, wirst du sehn dass es sich hier um das Change-Ereignis handelt, welches nur bei einer Änderung in einer Zelle auftritt. Sprich du müsstest jetzt deine Werte erneut in die Zellen schreiben damit der Effekt wirksam wird.
Sellis Makro ist jedoch nur für eine Zelle zugleich ausgelegt. Abgesehen davon dass Spalte M den Index 13 und N 14 trägt und nicht 14 bzw. 15, müsstest du jetzt alle Zellen nacheinander kopieren und wieder einfügen, sonst schmiert dir das Makro ab.
Ich habe daher den Code modifiziert, du kannst damit einfach die komplette Spalte D kopieren und wieder einfügen, damit wird der Effekt für alle betroffenen Zellen im definierten Bereich wirksam.
lg Steve
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range, Zelle As Range
Set Bereich = Range("D12:D95")
If Not Intersect(Target, Bereich) Is Nothing Then
ActiveSheet.Unprotect
For Each Zelle In Intersect(Target, Bereich)
Select Case LCase(Zelle)
Case "ja"
Cells(Zelle.Row, 13).Locked = True
Cells(Zelle.Row, 14).Locked = False
Case "nein"
Cells(Zelle.Row, 13).Locked = False
Cells(Zelle.Row, 14).Locked = True
Case Else
Cells(Zelle.Row, 13).Locked = False
Cells(Zelle.Row, 14).Locked = False
End Select
Next Zelle
ActiveSheet.Protect
End If
End Sub