当公式更改单元格值时动态调用宏

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