Macro para ejecutar según contenido de celda lista despliegue
Tengo las siguientes rutinas que lo que buscan es ejecutar una macro dependiendo del valor de una celda:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$M$7" Then Exit Sub
ActiveSheet.Unprotect Password:="XXXX"
Select Case Target.Value
Case 1
Call Risk_1
End Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowFiltering _
:=True, Password:="XXXX"
End Sub
Sub Risk_1()
Application.ScreenUpdating = False
Columns("O:R").Select
Selection.EntireColumn.Hidden = True
Columns("S:AH").Select
Selection.EntireColumn.Hidden = False
Columns("AI:OR").Select
Selection.EntireColumn.Hidden = True
Range("T19").Select
Application.ScreenUpdating = True
End Sub
Hasta acá funciona bien., pero…
El valor de esta celda M7 cambia dependiendo del valor de otra celda mediante una lista de despliegue en B7, al cambiar el valor de M7 no se ejecuta la macro. Debo entrar manual y darle intro dentro de la celda para que se ejecute.
¿Cómo puedo automatizar esto?