我正在尝试使用以下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 space
到Method 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崩溃