Excel:在行上添加上次修改的日期

时间:2015-07-01 15:03:10

标签: excel vba debugging runtime-error

我正在尝试使用以下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'失败

任何人都可以解释为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

您正在通过更改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

相关文章:MS Excel crashes when vba code runs