【发布时间】:2015-08-13 11:01:30
【问题描述】:
我有这段代码可以使用 Ctrl+F 命令在 Excel 工作表中查找特定值,但是当代码找不到任何内容时,我希望它抛出一条消息。
sub test()
f=5
do until cells(f,1).value=""
On Error goto hello
Cells.Find(what:=refnumber, After:=ActiveCell, LookIn:=xlFormulas, _
lookat:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
f=f+1
hello: Msgbox"There is an error"
loop
endsub
问题是即使没有发现错误,消息仍然会显示。我希望消息框仅在出现错误时显示。
【问题讨论】:
-
使用
Err.Number,例如:If Err.Number <> 0 then Msgbox"There is an error" -
好的,如果我有多个这样的条件,VB如何知道哪个err.number属于哪个条件
-
Err对象包含有关运行时错误的信息。发生错误时将填充Err对象的属性。所以Err对象不属于它只是通知是否发生错误的任何条件。参见Err.Clear。