VBA中公式引起的变化如何触发事件

对于VBA的事件触发来说,如果将事件选择为Change,但是单元格的变化是由公式引起的,则事件不会触发。

如:B3 = B4 + B5,如果选择Change事件,定义Target.Address = B3,当B4或B5发生变化而引起B3的数值变化时,事件不会触发。

这种情况下需要选择的事件为Calculate,当有计算发生时触发。

如下:

Private Sub Worksheet_Calculate()
If Range("B3").Value > 99 Then MsgBox "Overflow" End If
End Sub

 

posted @ 2018-07-04 18:02  Tranlio  阅读(2337)  评论(0编辑  收藏  举报