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?

questionAnswers(4)

yourAnswerToTheQuestion