当公式更改单元格值时动态调用宏
Call Macro dynamically when cell value changed by formula
在 Excel 到 "Data connection" 中,我在单元格 A1 中获取实时数据。使用 A1 的值,我正在对单元格 B1 进行一些计算。如果 B1 中的值为 TRUE,则应将该值复制到 C1。
到目前为止,我无法达到预期的结果,希望得到一些指导。
如果你在外部刷新单元格A1,并且想根据单元格B1的计算进行复制,那么你可以使用计算事件宏。
假设我们希望 A1 中第一个超过 100 的值被捕获到 C1 中。捕获第一个值后,将不会复制其他大于 100 的值。
在B1中我们输入:
=AND(A1>100,C1="")
然后在工作表代码区域安装这个事件宏:
Private Sub Worksheet_Calculate()
Dim B As Boolean
B = Range("B1").Value
If B Then
Application.EnableEvents = False
Range("C1").Value = Range("A1").Value
Application.EnableEvents = True
End If
End Sub
在 Excel 到 "Data connection" 中,我在单元格 A1 中获取实时数据。使用 A1 的值,我正在对单元格 B1 进行一些计算。如果 B1 中的值为 TRUE,则应将该值复制到 C1。
到目前为止,我无法达到预期的结果,希望得到一些指导。
如果你在外部刷新单元格A1,并且想根据单元格B1的计算进行复制,那么你可以使用计算事件宏。
假设我们希望 A1 中第一个超过 100 的值被捕获到 C1 中。捕获第一个值后,将不会复制其他大于 100 的值。
在B1中我们输入:
=AND(A1>100,C1="")
然后在工作表代码区域安装这个事件宏:
Private Sub Worksheet_Calculate()
Dim B As Boolean
B = Range("B1").Value
If B Then
Application.EnableEvents = False
Range("C1").Value = Range("A1").Value
Application.EnableEvents = True
End If
End Sub