由DDE更新触发的基于公式的单元格更改的时间戳

时间:2013-02-22 15:43:42

标签: excel excel-vba event-handling updates dde vba

我在A列中有数据,当A列中的数据发生变化时,我希望B列中有时间戳。

现在这里是棘手的部分:列A的值是基于公式的,来自Vlookup表。这个Vlookup表有dde链接。因此,无需手动输入电子表格。

如果您必须在A列中输入数据,但下面的代码适用于上述scernario,或者即使您说,也不适用。单元格A1 = C1+D1。通过更改C1或D1将更改A1 ...但这不会启动宏。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        Cells(Target.Row, 2).Value = Now
    End If
End Sub

2 个答案:

答案 0 :(得分:2)

我对这些事情并不熟悉,但是将Oracle数据库选择触发器Worksheet_Change事件与我的工作簿中刷新的代码相关联。但是,您的情况可能与众不同 - 我没有看到您的数据结构。

无论如何,尝试使用以下技巧:在A列的某处添加任何简单的公式,例如: =A1(如果A1更改了DDE更新) - 它应该在刷新时更改,从而触发Worksheet_Change事件。

在此处阅读更多内容:DDE links in Excel 2000 - how to run a macro

答案 1 :(得分:0)

DDE 触发Worksheet_Change()事件。但是,DDE确实会触发Worksheet_Calculate()事件。您可以使用它来捕获DDE更新发生的时间。