H o l a:
Primero ejecuta una vez la siguiente macro:
Sub BloquearCeldas()
'Por.Dante Amor
pwd = "abc"
ActiveSheet.Unprotect pwd
ActiveSheet.Cells.Locked = False
Application.EnableEvents = False
For Each c In ActiveSheet.Range("A1:F50")
If c.Value <> "" Then
c.Locked = True
End If
Next
Application.EnableEvents = True
ActiveSheet.Protect pwd, DrawingObjects:=False, _
Contents:=True, Scenarios:=False, _
AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowInsertingHyperlinks:=True, _
AllowSorting:=True, AllowFiltering:=True, _
AllowUsingPivotTables:=True
MsgBox "Terminado"
End Sub
Sigue las Instrucciones para ejecutar la macro
- Abre tu archivo de excel
- Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
- En el menú elige Insertar / Módulo
- En el panel del lado derecho copia la macro
- Para ejecutarla presiona F5
Ahora, pon la siguiente macro en los eventos de tu hoja:
Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
pwd = "abc"
If Not Intersect(Target, Range("A1:F50")) Is Nothing Then
For Each c In Target
If c.Value <> "" Then
ActiveSheet.Unprotect pwd
c.Locked = True
ActiveSheet.Protect pwd, DrawingObjects:=False, _
Contents:=True, Scenarios:=False, _
AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowInsertingHyperlinks:=True, _
AllowSorting:=True, AllowFiltering:=True, _
AllowUsingPivotTables:=True
End If
Next
End If
End Sub
Sigue las Instrucciones para poner la macro en los eventos de worksheet
- Abre tu libro de excel
- Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
- Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
- Del lado derecho copia la macro.
Listo, cada vez que escribas algo en las celdas del rango A1:F50, la celda se bloquará y la hoja quedará protegida.
Cambia el password "abc" por el que desees.