当单元格以编程方式更改时运行宏

时间:2011-06-23 03:46:50

标签: excel cell

我将数据从外部财务软件过滤到excel。它实时运行,当我说单元格B4由宏1运行的实时财务软件以编程方式改变时,我想要它。需要注意的几个问题是,实时数据可能会在几毫秒内发生变化。

如果这是不可能的,那么作为备份,我希望能够复制并粘贴Cell B4,每次更改为B10然后再次更改后将新值放入B10并在B10中保留旧值向下移动到B11,然后当B4再次变化时,将该值复制到B10并向下移动前两个值,以便最新数据始终在B10中。

2 个答案:

答案 0 :(得分:3)

设置Worksheet_Change事件,每次工作表更改时都会运行该事件。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$4" Then

    'Place appropriate code here

    End If
End Sub

我不知道如果在运行时发生了另一次更新会发生什么。

答案 1 :(得分:0)

如果您的单元格值每毫秒都有变化,那么您可能会遇到像Craig T所示的vba事件宏的性能问题(或循环)。

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

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

此致

最高