Proteger celda de acuerdo a horario

Me pueden apoyar con una macro que proteja una celda de acuerdo al horario y al día, ejemplo:

Celda C3,

Horario permitido para capturar en C3 10:00 am - 11:30 am LUNES

Celda D3

Horario permitido para capturar en C3 11:30 am - 01:00 pm MARTES

Es decir que en esas celdas solo se puede capturar en lunes y martes y en sus respectivas horas.

1 Respuesta

Respuesta
1

[Hola

Eso se puede interpretar de al menos dos formas:

- Una hoja con todas las celdas protegidas y que por horas/días solo dos celdas pueden ser modificadas y/o editadas y/o permiten el ingreso de datos.

- Una hojas permite modificar todas sus celdas y solo dos están protegidas y por horas pueden ser modificadas y/o editadas y/o permiten el ingreso de datos.

¿Cuál de los dos es tu caso?

Abraham Valencia

Hola Abraham buen día, Gracias por tu respuesta. En realidad la hoja tendrá algunas celdas protegidas y algunas otras desprotegidas, para que el usuario pueda capturar información en las celdas desprotegidas, y al mismo tiempo no pueda modificar información de títulos o encabezados ni por error, sumado a esto se ocuparía que las celdas mencionadas en el ejemplo anterior se protejan o desprotejan según la hora y día.

Saludos.

[Hola

Se me ocurre algo así: Colócalo en el módulo del libro, el que lleva por nombre "ThisWorkBook":

Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Worksheets("Hoja1")
        .Unprotect "clave"
        .Range("C3").Locked = True
        .Range("C3").Locked = True
        .Protect "clave"
    End With
End Sub
Private Sub Workbook_Open()
If Weekday(Date, vbMonday) = 1 And Time >= "10:00:00" And Time <= "11:30:00" Then
    With Worksheets("Hoja1")
        .Unprotect "clave"
        .Range("C3").Locked = False
        .Protect "clave"
    End With
    Exit Sub
End If
If Weekday(Date, vbMonday) = 2 And Time >= "11:30:00" And Time <= "13:00:00" Then
    With Worksheets("Hoja1")
        .Unprotect "clave"
        .Range("D3").Locked = False
        .Protect "clave"
    End With
    Exit Sub
End If
End Sub

Obviamente reemplaza el nombre de la hoja por el tuyo y la "clave" por la tuya.

Abraham Valencia

PD: Lo he hecho de memoria (sin probar) pero creo que te servirá o al menos te ayudará a guiarte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas