Deseo bloquear un rango de celdas en función de un determinado valor. Ej: Si (A1=1;desbloq;bloq)

Ej: A1 = 1 mientras determinados valores están dentó de lo previsto, cuando estos valores no son los esperados A1 deja de valer 1. En el rango (B1:H5) quiero que se pueda cargar datos o modificar, mientras A1=1, cuando A1 deja de valer 1 se bloquee el rango (B1:H5) para la carga de valores o modificación de los ya existentes

1 Respuesta

Respuesta
2

Sigue las instrucciones y las indicaciones

Instrucciones para worksheet
1. Abre tu hoja de excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
4. Del lado derecho copia la macro

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Protege un rango de celdas
'Por.Dam
Application.ScreenUpdating = False
celda = Target.Address
If Range("A1") = 1 Then
    Application.EnableEvents = False
    ActiveSheet.Unprotect
    Cells.Select
    Selection.Locked = False
    Selection.FormulaHidden = False
    Range("B1:H5").Select
    Selection.Locked = True
    Selection.FormulaHidden = False
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Else
    ActiveSheet.Unprotect
End If
Range(celda).Select
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

Indicaciones:

Mientras la celda A1 sea igual a 1, la hoja estará protegida y el rango de B1 a H5 no podrá ser modificado, pero como la hoja está bloqueada, tendrás algunas limitaciones, las cuales deberás definir para modificar la macro y poderlas permitir, por ejemplo, no puedes eliminar o insertar filas, tendrás que decirme que quieres insertar filas, pero que no permites eliminar filas, entonces actualizo la macro y te la envío.
Prueba como te funciona.

Saludos. Dam
Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas