单元格编程式更改时运行macros

我将数据从外部财务软件过滤到excel。 它是实时运行的,当我说macros单元将运行的实时财务软件编程的单元格B4改变时,我想要它。 需要注意的一些问题是,实时数据可能以毫秒为单位发生变化。

如果这是不可能的,那么作为备份,我希望能够复制和粘贴单元格B4,每次它改变说B10,然后一旦它再次改变把新的价值在B10和旧的价值在B10降低到B11,则当B4再次变化时,将该值复制到B10中,并向下移动前两个值,使得最新的数据总是在B10中。

设置一个onWorksheet_Change事件,这应该每次工作表变化运行。

Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$4" Then 'Place appropriate code here End If End Sub 

我不知道如果在运行时发生另一个更新,会发生什么情况。

如果您的单元格值每隔一毫秒改变一次,您可能会遇到像Craig T所示的vba事件macros的性能问题(或循环)。

您应该在更新频率上添加一些检查,如果您需要禁用vba事件,请使用:

 Application.EnableEvents = False ' Coding to skip these events Application.EnableEvents = True 

问候,

马克斯