Macro para proteger filas si una celda esta ocupada

Hola buen día, mi duda es que estoy armando una base de datos grande, pero luego se presionan teclas por error y se cambian los datos, como puedo proteger la fila en especifico, si una celda esta ocupada, en este caso E1, pero que me deje trabajar en las otras, ejemplo

      A     B     C    D   E

1    1      1     1     1    1

2

3    1      1     1     1    1

4    1      1     1     1    1

5

Si cualquier celda de la columna E, esta ocupada, que me bloquee la fila (rango A1:E1) y si esta en blanco, que no haga nada, para despúes llenar los datos

Ya que deseo proteger la celda de que haya cambios por error, cuando se proteja, que sea sin contraseña

Saludos Cordiales

1 respuesta

Respuesta
1

Para que las celdas puedan protegerse, la hoja deberá estar protegida. Sigue las instrucciones.

Realiza los siguientes pasos desbloquear las celdas.

1. Selecciona todas las celdas.

2. Selecciona el menú inicio

3. Selecciona "Formato" de la ficha "Celdas"

4. Selecciona "Formato de Celdas"

5. Selecciona la ceja "Proteger"

6. Desmarca la casilla "Bloqueada"

Pon la siguiente macro en un módulo y ejecútala para proteger las filas que ya tienen un dato en la columna "E".

NOTA: Cambia en la macro "abc" por el password que quieras.

Sub proteger()
'Por.DAM
ActiveSheet.Unprotect "abc"
For i = 1 To Range("E" & Rows.Count).End(xlUp).Row
    If Cells(i, "E") <> "" Then
        Range("A" & i & ":E" & i).Locked = True
    End If
Next
ActiveSheet.Protect "abc"
End Sub

Ahora para que automáticamente se estén bloqueando las celdas cada vez que escribas algo en la columna "E" pon la siguiente macro en Worksheet.

NOTA: Cambia en la macro "abc" por el password que quieras.

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.DAM
If Not Intersect(Target, Columns("E")) Is Nothing Then
    For Each c In Target
        ActiveSheet.Unprotect "abc"
        Range("A" & c.Row & ":E" & c.Row).Locked = True
        ActiveSheet.Protect "abc"
    Next
End If
End Sub

Listo, ya está protegida la hoja y las celdas bloqueadas. Cada vez que escribas algo en una celda vacía de la columna "E" las celdas de la A a la E se bloquearán.

NOTA: Para modificar un dato en una celda bloqueda, deberás desproteger manualmente la hoja.

Si tienes problemas con las macros envíame tu archivo para hacerle las adaptaciones.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas