Bloquear rango de celdas al poner un valor
Hola,
Tengo una base de datos en excel, en la cual quiero que en cada fila cuando coloque una respuesta bloquee las siguientes celdas dependiendo de la respuesta. Ejemplo en la celda F5 pondre opcion SI o NO, en cuanto coloque SI debe bloquear desde F6 hasta F12, pero si se pone NO, que no se bloqueen. Necesito que esto se repita con F6, F7 y cada fila siguiente.
Coloque este codigo que viene en todo expertos, pero solo funciona 1 fila a la vez y tendria que repetir el mismo codigo con referencia a cada celda y cada rango.
Private Sub Worksheet_Change(ByVal Target As Range)
datos = "AI3"
If Not Application.Intersect(Target, Range(datos)) Is Nothing Then
If [AI3] = "Si" Then
Cells.Select
Selection.Locked = False
Selection.FormulaHidden = False
Range("AJ3:AO3").Select
Selection.Locked = True
Selection.FormulaHidden = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
Range("AJ3:AO3").Select
End If
If [AI3] = "No" Then
ActiveSheet.Unprotect
End If
Application.ScreenUpdating = True
End If
End Sub
¿Me podrian decir como hacerlo para que suceda en cada fila? Necesito 1000 filas al menos.
Tengo una base de datos en excel, en la cual quiero que en cada fila cuando coloque una respuesta bloquee las siguientes celdas dependiendo de la respuesta. Ejemplo en la celda F5 pondre opcion SI o NO, en cuanto coloque SI debe bloquear desde F6 hasta F12, pero si se pone NO, que no se bloqueen. Necesito que esto se repita con F6, F7 y cada fila siguiente.
Coloque este codigo que viene en todo expertos, pero solo funciona 1 fila a la vez y tendria que repetir el mismo codigo con referencia a cada celda y cada rango.
Private Sub Worksheet_Change(ByVal Target As Range)
datos = "AI3"
If Not Application.Intersect(Target, Range(datos)) Is Nothing Then
If [AI3] = "Si" Then
Cells.Select
Selection.Locked = False
Selection.FormulaHidden = False
Range("AJ3:AO3").Select
Selection.Locked = True
Selection.FormulaHidden = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
Range("AJ3:AO3").Select
End If
If [AI3] = "No" Then
ActiveSheet.Unprotect
End If
Application.ScreenUpdating = True
End If
End Sub
¿Me podrian decir como hacerlo para que suceda en cada fila? Necesito 1000 filas al menos.