Чтобы зафиксировать изменения по формуле, вы должны использовать событие Worksheet_Calculate()
.
=Sheet2!A1+1
Теперь в модуле вставьте этот код
Public PrevVal As Variant
Вставьте это в область кода листа
Private Sub Worksheet_Calculate()
If Range("A1").Value <> PrevVal Then
MsgBox "Value Changed"
PrevVal = Range("A1").Value
End If
End Sub
И, наконец, в области кода ThisWorkbook
вставьте это код
Private Sub Workbook_Open()
PrevVal = Sheet1.Range("A1").Value
End Sub
Закрыть и сохранить книгу и снова открыть ее. Теперь сделайте любое изменение в ячейке A1 Sheet2
. Вы заметите, что вы получите окно сообщения MsgBox "Value Changed"
SNAPSHOTS
[/g0]