Excel:添加行上最后一次修改的日期



我正在尝试使用以下VBA脚本将最后一次修改行的日期和时间添加到该行的特定列:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    ThisRow = Target.Row
    If Target.Row > 1 Then Range("K" & ThisRow).Value = Now()
End Sub

但它不断抛出以下错误:

运行时错误"-2147417848(80010108)":

对象"Range"的方法"Value"失败

有人能解释为什么会发生这种事吗?

您通过更改Worksheet_Change事件内的值来创建一个无限循环,而不首先禁用事件。当我做类似的事情时,我会得到从Out of stack spaceMethod Range failed...的一系列错误。

改为:

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    ThisRow = Target.Row
    If Target.Row > 1 Then Range("K" & ThisRow).Value = Now()
    Application.EnableEvents = True
End Sub

相关文章:当vba代码运行时,MS Excel崩溃

最新更新