Macro para bloquear celda después de escribir

Como puedo realizar un macro en donde al ingresar un dato en todas las celdas de la columna "A", aparezca la fecha en las celdas de la columna "B" y la hora en las celdas de la columna "C" y que además al ingresar el dato en la celdas de la Columa "A" se bloque esa celda.

1 Respuesta

Respuesta
1

Para que una fila o una celda o un rango se bloquee, primero tienes que desbloquear todas las celdas, después tienes que proteger tu hoja.

Desbloquear todas las celdas:

1. Selecciona todas las celdas presiona Ctrl + E o presiona las teclas Ctrl + Shift + Barra espaciadora o presiona la esquina superior izquierda (intersección entre columnas y filas).

2. Selecciona formato

3. Formato de celdas

4. Proteger

5. Desmarca la casilla Bloqueada

Ahora, si tu escribes algo en la columna "A" utiliza esta macro.

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.DAM
    If Not Intersect(Target, Columns("A")) Is Nothing Then
        ActiveSheet.Unprotect "abc"
        For Each c In Target
            Cells(c.Row, "B") = Date
            Cells(c.Row, "C") = Time
            Cells(c.Row, "A").Locked = True
            Cells(c.Row, "B").Locked = True
            Cells(c.Row, "C").Locked = True
        Next
        ActiveSheet.Protect "abc", _
        DrawingObjects:=False, Contents:=True, _
        Scenarios:=False, AllowFormattingCells:=True, _
        AllowFormattingColumns:=True, AllowFormattingRows:=True, _
        AllowInsertingColumns:=True, AllowInsertingRows:=True, _
        AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
        AllowDeletingRows:=True, AllowSorting:=True, _
        AllowFiltering:=True, AllowUsingPivotTables:=True
    End If
End Sub

Cambia en la macro "abc" por el password que desees ponerle a tu hoja

Saludos. Dante Amor

No olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas