H o la:
Para bloquear las celdas, realiza los siguientes pasos:
1. Si tienes la hoja protegida, desproteje la hoja.
2. Seleccionar todas las celdas
3. Entra al menú Inicio, Formato, Formato de celdas, en la ceja Proteger, desmarca la casilla Bloqueada, presiona Aceptar
4. Pon la siguiente macro en los eventos de tu hoja
Private Sub Worksheet_Change(ByVal Target As Range)
'---
' Por.Dante Amor
'---
If Not Intersect(Target, Range("A4:F100")) Is Nothing Then
If Target.Count > 100 Then Exit Sub
ActiveSheet.Unprotect "abc"
For Each c In Target
c.Locked = True
Next
ActiveSheet.Protect "abc", DrawingObjects:=False, _
Contents:=True, Scenarios:=False, _
AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowSorting:=True, _
AllowFiltering:=True, AllowUsingPivotTables:=True
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)
- En el panel del lado derecho copia la macro
En la macro tienes el texto "abc", cambia el password por la palabra que desees.
En la macro tienes esta línea:
If Not Intersect(Target, Range("A4:F100")) Is Nothing Then
Significa que en el rango de celdas de A4 a F100 se bloqueará la celda después de capturar un dato.
Si quieres cambiar el rango a columnas, por ejemplo:
If Not Intersect(Target, Range("B:G")) Is Nothing Then
O si quieres que aplique en toda la hoja:
If Not Intersect(Target, Cells) Is Nothing Then
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias