VBA wyzwala makro zmiany wartości komórki
To powinno być proste. Gdy wartość komórki zmienia się, chcę wyzwolić jakiś kod VBA. Komórka (D3) jest obliczeniem z dwóch innych komórek=B3*C3
. Próbowałem 2 podejścia:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 And Target.Row = 3 Then
MsgBox "There was a change in cell D3"
End If
End Sub
Ponieważ komórka jest obliczeniem, nie jest wyzwalana, gdy wartość się zmienia, ponieważ obliczenia pozostają takie same. Próbowałem też:
Private Sub Worksheet_Calculate()
MsgBox "There was a calculation"
End Sub
Ale mam wiele obliczeń na arkuszu i uruchamia się wiele razy. Czy istnieje sposób na określenie, które obliczenie zmieniło się na zdarzeniu obliczeniowym? Czy jest inny sposób, w jaki mogę śledzić zmiany D3?