Como hacer para que se bloqueen automáticamente las celdas luego de ser modificadas.

Te agradeceria mucho si me pudieras ayudar con lo siguiente. Necesito que en una hoja de excel al modificar alguna celda la misma automáticamente se bloquee con necesidad de una contraseña para que nuevamente pueda ser modificada. En eso me encontre con esto.

Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Unprotect "123"
Cells(Target.Row, Target.Column).Locked = True
ActiveSheet.Protect "123"
End Sub

 Sin embargo al utilizarlo me bloquea inmediatamente todas la celdas de la hoja al modificar una sola celda. Yo necesito poder cargar mas de una celda y que las que son cargadas queden bloqueadas mientras continuo con la carga de datos. 

1 Respuesta

Respuesta
2

El bloqueo de celdas funciona solamente si proteges la hoja.

Sigue los siguientes pasos.

  • Selecciona todas las celdas de la hoja
  • Entra al menú Inicio, Formato, Formato de celdas, Proteger y desmarca la casilla de Bloqueada
  • Ahora pon la siguiente macro en los eventos de thisworkbook
    Private Sub Worksheet_Change(ByVal Target As Range)
    'Por.Dante Amor
        If Target.Count > 1 Then Exit Sub
        ActiveSheet.Unprotect "123"
        Target.Locked = True
        ActiveSheet.Protect "123"
    End Sub
    '
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    'Por.Dante Amor
        If Target.Count > 1 Then Exit Sub
        If Target.Locked = True Then
            res = InputBox("Captura la contraseña para desbloquear la celda y poder modificarla", "CONTRASEÑA REQUERIDA")
            If res = "" Or res = Cancel Then Exit Sub
            If res = "abc" Then
                ActiveSheet.Unprotect "123"
                Target.Locked = False
                ActiveSheet.Protect "123"
            Else
                MsgBox "Contraseña incorrecta, no se puede modificar la celda", vbExclamation
            End If
        End If
    End Sub
  • Regresa a la hoja
  • Guarda el archivo habilitado para macros
  • Selecciona una celda, digamos la celda D4
  • Captura un dato en la celda D4. Presiona enter
  • Si regresas a la celda D4, se activará la macro y te pedirá la contraseña para modificar celdas. Es preciso comentar que van a existir 2 contraseñas, una para proteger la hoja y otra para desbloquear una celda y poder modificar la celda.
  • Si capturas la contraseña "abc" se desbloquerá exclusivamente la celda D4, podrás modificar la celda D4 y después presiona enter, la celda D4 se bloqueará nuevamente.
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas