Worksheet_Change(ByVal Target As Range)

He creado esta macro para que si se modifica el valor de la celda C43, se lanza la macro "Planning_study"

La celda C43 es el resultado de una formula.

No me funciona bien, cualquier cambio en esta misma hoja (SIN AFECTAR AL CALCULO DE LA CELDA C43) lanza la macro.
Los cambios desde otras hojas del libro no hacen nada

Lo que necesito es que se ejecute solo cuando el valor de C43 se cambia.

No veo cual es el fallo

Private Sub Worksheet_Change(ByVal Target As Range)
Static anteriorvalor As Variant
If Range("$c$43").Value <> anteriorvalor Then
anteriorvalor = Range("$c$43").Value
'MsgBox ("El nuevo valor del Area es " & anteriorvalor)
End If
Call Planning_study

2 Respuestas

Respuesta
1

El error estas que estas llamando la macro aunque no se modifique la celda lo dejas por fuera

Lo correcto es

Private Sub Worksheet_Change(ByVal Target As Range)
Static anteriorvalor As Variant
If Range("$c$43").Value <> anteriorvalor Then
anteriorvalor = Range("$c$43").Value
'MsgBox ("El nuevo valor del Area es " & anteriorvalor)
Call Planning_study

End If

Si se cambia el valor entonces si de lo contrario sigue igual

Recuerda valorar si te silve para cerrar la pregunta

Respuesta
1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas