excel里的数据变化后,宏怎么自动运行?

我编了一个小程序,解方程的,但是每次都要点宏—执行才能进行计算,怎么才能实现F10单元格的数据变化后,宏就能自动运行?
这是我的宏程序
Sub Macro1()
[b14] = 1
Do
x = [f10]
Z = x - [b14]
[b14] = x
Loop Until Abs(Z) < 0.01
End Sub

我在网上看到有人说加一句
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
就可以了,但是不知道是我加错了地方还是什么原因,始终不能自动运行
求大神帮我改一下,最好是修改了给我传上吧。。。

按住Alt+F11

双击Sheet1(Sheet1),就是包含你的公式的工作表

输入代码:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$F$10" Then Macro1
End Sub

追问

试过了,不行,我的F10单元格链接的是公式,不是往进敲数字,好像Target.Address = "$F$10"不行,因为F10的公式一直都不动,有没有是F10公式算出来的数值变动,就自动执行宏的?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-19
alt+f11在打开的窗口中双击要自动运行宏的工作表表名。将
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
结构粘贴到窗口中。追问

试过了,不行,我的F10单元格链接的是公式,不是往进敲数字,好像Target.Address = "$F$10"不行,因为F10的公式一直都不动,有没有是F10公式算出来的数值变动,就自动执行宏的?

第2个回答  2013-11-19
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 10 And Target.Column = 6 Then
''你的代码
End If
End Sub
这样应该可以,试一下。
相似回答