¿Por qué al proteger hoja la macro ejecutada no cumple las condiciones para bloqueo y desbloqueo según condiciones de Si o NO ?
Tengo una macro que cuando la hoja esta desprotegida funciona bien, pero cuando procedo a protegerla, la macro no funciona como debe ser. Me explico, tengo 3 celdas que cambian a si o no, según referencia, los casos son NO NO NO, SI NO NO, SI SI NO, y SI SI SI, y cuando la celda sea SI el rango debajo de ésta sea editable, pero si cambia a NO, la bloquee. La macro que me suministraron funciona bien, pero cuando la hoja no está protegida, caso contrario, la macro bloquea en celda con NO, pero al cambiar esta celda a SI, el rango sigue bloqueado, cuando debería desbloquearse. Además, que cada vez que las celdas tomen valor NO, borren el contenido del rango. Anexo la macro. Espero su ayuda. Gracias de antemano.
Private Sub Worksheet_Calculate()
ActiveSheet.Unprotect "1234"
Range("I12:k43").Locked = False
If [I11] = "0" Then Range("I12:I43").Locked = True
If [J11] = "0" Then Range("J12:J43").Locked = True
If [K11] = "0" Then Range("K12:K43").Locked = True
Range("I65:K96").Locked = False
If [I11] = "0" Then Range("I65:I96").Locked = True
If [J11] = "0" Then Range("J65:J96").Locked = True
If [K11] = "0" Then Range("K65:K96").Locked = True
Range("I118:k149").Locked = False
If [I11] = "0" Then Range("I118:I149").Locked = True
If [J11] = "0" Then Range("J118:J149").Locked = True
If [K11] = "0" Then Range("K118:K149").Locked = True
Range("I171:k202").Locked = False
If [I11] = "0" Then Range("I171:I202").Locked = True
If [J11] = "0" Then Range("J171:J202").Locked = True
If [K11] = "0" Then Range("K171:K202").Locked = True
ActiveSheet.Protect "1234", DrawingObjects:=False, Contents:=True, _
Scenarios:=False, AllowFormattingCells:=True, _
AllowFormattingColumns:=True, AllowFormattingRows:=True, _
AllowSorting:=True, AllowFiltering:=True, _
AllowUsingPivotTables:=True
End Sub