Excel中的VB错误

时间:2013-02-13 17:01:59

标签: vb.net excel

执行以下VB代码并启用“跟踪更改”功能时,我在MS Excel中遇到错误:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        If IsEmpty(Target) Then
            Target.Offset(0, 1).Value = Empty
        Else
            Target.Offset(0, 5).Value = Now()
        End If

    End If

End Sub

似乎我可以将数据输入到前两行中,但是一旦我开始在第3行及以后开始填充数据,我会收到一条错误,指出“运行时错误'1004'应用程序定义的或对象定义的错误”。

2 个答案:

答案 0 :(得分:0)

更改跟踪会强制工作簿变为“共享”,这会禁用许多功能(例如,您无法在启用了更改跟踪的情况下访问VBA)。

我不完全确定为什么会抛出此错误,但在发生错误时,避免看到此消息的解决方法是Resume Next

On Error Resume Next

只需添加有关您的第一个If块(If Target.Column = 1 Then)的代码。请注意,理想情况下,您应该想要辨别此问题的来源,并且此解决方案是一种解决方法,这可能不是一种好的做法。

答案 1 :(得分:0)

我从第2行开始收到错误,此代码和跟踪更改已开启。然而,无论错误如何,代码似乎都应该执行它应该执行的操作,因此我建议On Error Resume Next解决此问题。

这并未解决更改跟踪的任何潜在问题,并且可能无法跟踪您的更改。