Macro para bloquear línea de excel después de editar

Para Dante Amor:

Es un documento con 2 hojas, en una tengo una tabla que funciona como base de datos y en la otra hoja hay una tabla con varios campos rellenables, un registro automático de fecha que funciona con fórmula de referencia circular, fórmulas que invocan datos en la base de datos todos funcionando por medio de la función BUSCARV y algunas columnas que se llenan a mano. El registro lleva una progresión horizontal de arriba hacia abajo.

Funciona de la siguiente manera: Introduzco el código de artículo y automáticamente se registra fecha actual, descripción, unidad de conteo, proveedor y precio unitario, los demás campos que son Nombre de empleado, fecha de servicio, código de servicio, Centro de distribución, etc, se llenan a mano, cada registro ocupa 1 línea de la tabla.

Como este archivo será modificado por varias personas, requiero que al momento de que se le de "Guardar" al documento, las líneas que fueron llenadas se bloqueen automáticamente y no se puedan modificar, esto sin afectar las columnas que tienen fórmulas ni las celdas que se dejan en blanco.

Sin más que agregar, le envío un saludo y le agradezco su gran ayuda

1 respuesta

Respuesta
1

Pon la siguiente macro en los eventos de thisworkbook

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Por.Dante Amor
    ActiveSheet.Unprotect "abc"
    On Error Resume Next
    Cells.Locked = False
    Cells.SpecialCells(xlCellTypeConstants, 23).Locked = True
    Selection.SpecialCells(xlCellTypeFormulas, 23).Locked = True
    ActiveSheet.Protect "abc", DrawingObjects:=False, Contents:=True, Scenarios:= _
        False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
        AllowFormattingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
        AllowUsingPivotTables:=True
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas