Ejecutar una macro cuando cambie el valor de una celda

Tengo este código con el cual pretendo ejecutar una macro (Filtrar_Repositor_PlanStock) cuando cambie el valor de la celda C2, pero el problema es que la macro se ejecuta aun cuando cambio el valor de cualquier celda que no sea C2.

Private Sub Worksheet_Change(ByVal Target As Range)

If Range("$C$2").Value <> "" Then

Call Filtrar_Repositor_PlanStock
End If

End Sub

1 respuesta

Respuesta
2

Deberías modificar el evento para que verifique si la celda que cambio es la C2 (ojo que eso aplica si ingresás el valor manualmente, si es una celda calculada no te va a servir). Sería algo más o menos así:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$C$2" Then Exit Sub
If Range("$C$2").Value <> "" Then
 Application.EnableEvents = False
 Call Filtrar_Repositor_PlanStock
 Application.EnableEvents = True
End If
End Sub

Agregué la instrucción de enableevents, para evitar que entre en un loop infinito (que ocurriría si estás modificando celdas de la misma hoja)

Salu2

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas