Macro que proteja ciertas celdas al cerrar, en las que hayan escrito sin desproteger las que contengan fórmulas.

Soy nuevo, espero que me puedan ayudar.

No soy experto en el tema de las macros y se me presenta un reto que me urge solucionar. El tema... Tengo un layout en Excel que debo colocar en una carpeta compartida en la que el usuario pueda escribir sobre ciertas celdas día a día, pero para mantener el control de la base de datos, necesito bloquear las celdas que contengan fórmulas Siempre!, pero permitir la edición en las celdas vacías, al cerrar el archivo, que se guarde la información y que se protejan las celdas escritas en la sesión con contraseña. Tengo noción, sin embargo, se complica al tener que conservar bloqueadas las celdas con fórmulas y no solo bloquear las celdas que se capturen ese día, sino que además, ciertas celdas deben quedar desprotegidas Siempre!, pues requiero que actualicen esos campos.

Agradezco mucho de antemano su ayuda, si no me explique o falta información, háganmelo saber

Respuesta
1

Envíame tu archivo y explícame, cómo identifico:

1. Las celdas que siempre deben estar bloqueadas.

2. Las celdas que deben bloquearse después de que fueron actualizadas.

3. Las celdas que siempre deben estar desbloqueadas aunque tengan datos.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Eder Sinner” y el título de esta pregunta.

Hola buenas noches, de antemano te agradezco mucho la atención y oportuna respuesta a mi pregunta. La macro debe ejecutarse al cerrar el archivo y además de bloquear con contraseña las que fueron actualizadas, debe guardar el archivo.

1. Las celdas que siempre deben estar bloqueadas. 

FILA: 1, 2, 3   COLUMNA: A, B, Z, AA, AB, AC, AD.

2. Las celdas que deben bloquearse después de que fueron actualizadas.

C4:P1048576 y Y4:Y1048576, (COLUMNA C,D,E,F,G,H,I,J,K,L,M,N,O,P y Y, excluyendo las ya bloqueadas desde el inicio)

3. Las celdas que siempre deben estar desbloqueadas aunque tengan datos.

Q4:Y1048576 (COLUMNA Q,R,S,T,U,V,W,X, excluyendo las ya bloqueadas desde el inicio)

Si necesitas algo mas de información o alguna aclaración, estoy atento a tus comentarios. 

Nota: ya te envié el correo.

Quedo atento de tu respuesta Dante Amor. Gracias

Te anexo la macro

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Not Intersect(Target, Range("C:P,Y:AD")) Is Nothing Then
        pwd = "abc"
        ActiveSheet.Unprotect pwd
        For Each c In Target
            c.Locked = True
        Next
        ActiveSheet.Protect pwd, False, True, False, True, True, _
            True, True, True, True, True, True, True, True, True
        ActiveSheet.EnableSelection = xlNoRestrictions
    End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas