我在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
答案 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更新发生的时间。