Macro que proteja celdas escritas al cerrar archivo y mantenga siempre bloqueadas las formulas

Soy nuevo y espero que me puedan ayudar... El tema es que tengo un layout en Excel que quiero colocar en carpeta compartida con otro equipo remoto. El layout contiene formulas para llevar registro y control de una base de datos en la que día a día los usuarios colocaran informacion. La cuestión es que quiero una macro que guarde y bloquee las celdas capturadas en la sesión, pero sin desbloquear las celdas que contienen formulas para no vulnerar el formato y control de la base de datos. Tengo noción de como hacerlo, pero tengo conflicto al colocar contraseña a las celdas que capturaron en el día, sin desbloquear ciertas celdas con formulas ni tampoco las ya escritas en días anteriores. Además, se complica porque quiero que ciertas celdas siempre estén desbloqueadas aunque escriban, pues tienen que actualizar informacion en ellas.

Respuesta
1

Para que las celdas queden bloqueadas, la hoja se debe proteger.

La macro protege las celdas después de ser modificadas, de acuerdo a esta relación.

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)

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

Saludos.Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas