当执行以下VB代码和“跟踪修改”功能开启我在MS Excel遇到错误:VB 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
看来,我可以将数据输入到第一2行很好,但一旦我开始填充第三行和之后的数据,我得到一个错误,指出“运行时错误”1004'应用程序定义或对象定义的错误“。
这是在vb.net或在Excel的VBA编辑器中(例如'Developer Tab - > Visual Basic')?你可以在编辑器中添加一个断点来辨别这个错误在代码中被抛出的位置吗? – Sam 2013-02-13 17:11:51
这在Excel 2010中适用于我。请注意,在Excel 2010(可能是2007)中跟踪更改为ON时,您可能无法在共享工作簿文件中使用宏。 – 2013-02-13 18:03:52
另请注意,您可能希望在此代码的开头使用'Application.EnableEvents = False',并在此代码的末尾使用'Application.EnableEvents = True'来防止不必要的循环(if/else语句ALSO会触发_Change事件并且第二次触发宏,这是不必要的)。 – 2013-02-13 18:16:46