Macro con celda dependiente combobox de otra hoja

Quería que me orienten en este problema que se me presentó
Tengo una hoja que contiene el código siguiente:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Unprotect (22222)
If Application.Intersect(Target, Target.Parent.Range("A4")) Is Nothing Then Exit Sub Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Range("h:s").EntireColumn.Hidden = True
If [A4] = "COMPLETA" Then 'Muestra filas ocultas según selección combobox
[H:K].EntireColumn.Hidden = False
ElseIf [A4] = "SIMPLE" Then
[L:O].EntireColumn.Hidden = False
ElseIf [A4] = "ASALARIADO" Then
[P:S].EntireColumn.Hidden = False
ElseIf [A4] = "AGRICOLA" Then
[H:K].EntireColumn.Hidden = False
End If
Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic ActiveSheet.Protect (22222)
End Sub
El valor de [A4] viene de otra hoja llamada "Control" y depende de un combobox cuya salida es justamente esta celda. El problema que tengo es que no me corre la macro automáticamente si es que no selecciono la celda A4 como especifico en la instrucción:
"If Application.Intersect(Target, Target.Parent.Range("A4")) Is Nothing Then Exit Sub"
Pero si no hago esto es peor, porque la macro se dispara cada que muevo el cursor. ¿Cómo podría solucionar este problema que me tiene varios días sin poder avanzar el trabajo?

1 Respuesta

Respuesta
1

Hay que realizar algunos cambios en la macro, por ejemplo hay que cambiar esta instrucción
Worksheet_SelectionChange por Worksheet_Change, para que se ejecute, somalemente si ocurren cambios en A4.
También hay que poner esta instrucción, para que puedas hacer cambios en la hoja y no se active la macro de Private Sub Worsheet
Application.EnableEvents = False
'después de hacer los cambios en la Hoja se tiene que activar nuevamente los eventos
Application.EnableEvents = True

La pregunta no admite más respuestas

Más respuestas relacionadas