Proteccion y desproteccion por visual basic en excel

Este codigo me permite proteger y desproteger para escribir en una celda cuando se cumple una condicion.
El problema esta en que me deja desproteger desde Herramientas de Excel y no me pide contraseña.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
With Target
If .Count > 1 Then Exit Sub
If Not Intersect(Range("B1:B1111"), .Cells) Is Nothing Then
Application.EnableEvents = False
If IsEmpty(.Value) Then
Else
With .Offset(0, -1)
If .Value = "" Then
ActiveSheet.Unprotect
.NumberFormat = "dd-mm-yyyy h:mm:SS;@"
.Value = Now
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
CONTRASEÑA = 123
Else
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
CONTRASEÑA = 123
End If
End With
End If
Application.EnableEvents = True
End If
End With
End Sub

1 respuesta

Respuesta
1
Lo que veo es que cuando haces el Activesheet. Protec NO le pasas la contraseña, pro eso no te la pide al desproteger
Es cierto,
El codigo correcto es:
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True , AllowFiltering:=True , password:= "123"
Muchas gracias por la aclaración, lo tenia delante y no lo veía.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas