我有一个excel,我必须检查一个帐户是否存在两个帐户列表中的哪一个。否则,我必须去下一个帐户。我正在使用的代码是:
For x=1 to acc_num
Sheets("List1").Select
Range("A1:A100").Select
On Error GoTo CheckList2
Selection.Find(what:=x).Activate
GoTo Found
CheckList2:
Sheets("List2").Select
Range("A1:A100").Select
On Error GoTo NotFound
Selection.Find(what:=x).Activate
Found:
'More Code to execute if account is found
NotFound:
On Error GoTo 0
Next x
当在List1中找不到帐户时,我仍会收到错误弹出窗口:运行时' 91' :对象变量或未设置块。
我无法理解为什么错误处理没有完成它的工作。请帮帮我。
答案 0 :(得分:0)
看起来你的错误处理程序正在相互影响。在启动新的错误处理过程之前,请使用
清除所有现有错误On Error GoTo -1
On Error GoTo的MSDN条目位于:http://msdn.microsoft.com/en-us/library/5hsw66as.aspx
Sub test()
Dim x, acc_num As Integer
x = 1
acc_num = 10
For x = 1 To acc_num
Sheets("Sheet1").Select
Range("A1:A100").Select
On Error GoTo CheckList2
Selection.Find(what:=x).Activate
GoTo Found
CheckList2:
Sheets("Sheet2").Select
Range("A1:A100").Select
On Error GoTo -1
On Error GoTo NotFound
Selection.Find(what:=x).Activate
Found:
'More Code to execute if account is found
NotFound:
On Error GoTo -1
Next x
End Sub