Excel 当单元格公式结果发生变化时自动运行一个宏
我们需要通过进入 “开发 “菜单并选择 “运行宏 “或使用我们创建的快捷方式来运行宏。但你有没有尝试过根据单元格的值来运行一个宏?这可以通过使用VBA应用程序来实现。在这个过程中,当指定区域的值发生变化时,我们将自动运行宏。本教程将帮助你了解我们如何在单元格公式的结果发生变化时自动运行宏。
在这里,我们将首先选择单元格的范围,然后插入工作表的VBA代码。让我们看看一个不复杂的过程,以了解当Excel中的单元格公式结果发生变化时,我们如何能够自动运行宏。我们需要借助一个VBA应用程序来完成我们的过程,因为我们在Excel中默认不能这样做。
第1步
考虑一个Excel工作表,其数据与下图所示的数据类似,还有一个宏。
现在右击工作表名称,选择查看代码,打开VBA应用程序,然后在文本框中输入程序,如下图所示。
示例
Private Sub Worksheet_Calculate()
'Update By Nirmal
Dim Xrg As Range
Set Xrg = Range("A2:A12")
If Not Intersect(Xrg, Range("A2:A12")) Is Nothing Then
Macro1
End If
End Sub
在代码中,A2:A12是我们计算公式的单元格范围,Macro1是将自动运行的宏的名称。
第2步
然后将工作表保存为启用宏的工作簿,按 “Alt + Q “退出VBA程序,接着关闭工作表。当我们重新打开工作表时,点击启用代码,每当我们改变范围内的公式时,宏就会自动运行。
注意 – 只有当公式发生变化时,宏才会运行;如果有任何数据发生变化,宏不会运行。
结论
在本教程中,我们用一个简单的例子来演示如何在Excel中单元格公式结果发生变化时自动运行宏。