Proteger celdas en excel

Tengo una hoja de excel que quiero que una columna una vez escrito un valor o dato en cada celda de esa columna no se pueda modificar, o que avise pidiendo permiso.

No se si esto se puede hacer, sino a ver si hay alguna alternativa similar.

1 Respuesta

Respuesta
1

Ok, para hacerlo necesitas seguir estos pasos:

1) Selecciona todas las celdas de la hoja, presiona ctrl+1 y en la pestaña de proteger quita el check al campo bloqueado.

2) Vas al visual de la hoja y sobre el nombre de la hoja en la que necesirtas que se controle lo que pides copias este código.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="1234"
ActiveSheet.Unprotect "1234"
If ActiveCell.Value = "" Then
Else
Selection.Locked = True
Selection.FormulaHidden = False
End If
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="1234"
End Sub

Adiciono, este seria el código final para que ademas te pregunte si deseas modificar una celda ya bloqueada.

Ojo la contraseña es 1234 pero la puedes cambiar con la que quieras

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="1234"
If Selection.Locked = True Then
Z = Selection.Value
a = MsgBox("LA CELDA SE ENCUENTRA BLOQUEADA, DESEA MODIFICARLA", vbYesNo, "SOLICITUD DE CAMBIO")
If a = 6 Then
ActiveSheet.Unprotect "1234"
Selection.Locked = False
End If
Else
If Selection.Value = "" Then
Else
ActiveSheet.Unprotect "1234"
ActiveCell.Locked = True
End If
End If
End Sub

La primera parte correcta, la segunda, no se como se donde se mete el código.

Borra la primera, se me había pasado la parte de la pregunta que necesitabas. La segunda macro ya esta completa.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas