Bloquear celda después de introducir datos

Estoy utilizando un código que me funciona perfectamente.
"""""Worksheet - Change"""""
Private Sub Worksheet_Change(ByVal Target As Range)
dia = Date
If Target.Column = 1 Then Target.Offset(0, 2) = dia
hora = Time
If Target.Column = 1 Then Target.Offset(0, 3) = hora
End Sub
""""""""""""""
De tal manera que al introducir un código en A, me aparece automáticamente la fecha en C y la hora en D.
Me gustaría perfeccionar el código de manera que, al introducir un dato en A1 y validarlo, la celda, o mejor, la fila, se bloquease
Al introducir el nuevo dato A2, esta se bloquease, igual en la siguiente introducción A3
Y así sucesivamente.

1 respuesta

Respuesta
3
Debo recordarte que las celdas solo aparecen bloqueadas cuando la hoja se protege (con o sin contraseñas)
Y que Excel presenta de modo predeterminado TODAS las celdas bloqueadas. Por lo que primero deberás desbloquear las que te servirán para el ingreso de datos (menú Formato, Celdas...)
Ahora protegé la hoja y probá la macro que te la ajusté un poco:
Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
dia = Date
hora = Time
If Target.Column = 1 Then
    Target.Offset(0, 2) = dia
    Target.Offset(0, 3) = hora
    ActiveSheet.Unprotect    'si tiene clave agregá "tu_clave"
    Target.EntireRow.Locked = True
    ActiveSheet.Protect      'si tiene clave agregá "tu_clave"
End If
End Sub
Si todo se comprendió, no olvides finalizar la consulta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas