直接用单元格事件完成呀
代码如下
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then '指定A1单元格修改时发生事件
Call 你的要运行的宏
End If
End Sub
如果照你的说法,手工修改的话可以实现,说明代码没有问题,只是代码位置不对,要用重算公式事件。就是将Private Sub Worksheet_Change(ByVal Target As Range)改为Private Sub Worksheet_Calculate()。你要检测的单元格在一个全局变量里,每次事件进行一次比较,如果有变化就执行你需要的过程。