Excel 在If语句中使用IsError
我有以下Excel 在If语句中使用IsError,excel,vba,error-handling,Excel,Vba,Error Handling,我有以下If-语句: If wb.Range("A1").Value = "n/a" Or wb.Range("A1").Value = "na" Then wb.Range("A2").Value = "-" Else ... End 直到A1包含#NV(错误,它不是字符串)并且代码给了我错误13(类型不匹配),这一切都很正常。我试着这么做: If IsError(wb.Range("A1").Value) = True Or wb.Range("A1").Value = "
If
-语句:
If wb.Range("A1").Value = "n/a" Or wb.Range("A1").Value = "na" Then
wb.Range("A2").Value = "-"
Else
...
End
直到A1
包含#NV
(错误,它不是字符串)并且代码给了我错误13(类型不匹配),这一切都很正常。我试着这么做:
If IsError(wb.Range("A1").Value) = True Or wb.Range("A1").Value = "n/a" Or wb.Range("A1").Value = "na" Then
wb.Range("A2").Value = "-"
Else
...
End
但同样,类型不匹配
如果我像这样分开它,它会工作:
If IsError(wb.Range("A1").Value) = True Then
wb.Range("A2").Value = "-"
ElseIf wb.Range("A1").Value = "n/a" Or wb.Range("A1").Value = "na" Then
wb.Range("A2").Value = "-"
Else
...
End
这给我带来了几个问题:
elseif
和只有一条If
-语句的情况下,以某种方式处理错误如果iError(wb.Range(“A1”)Value)=True或wb.Range(“A1”)Value=“n/a”
不起作用?VBA是否同时查看所有或
条件,其中一个返回错误,因此整个If
语句也会这样做请参阅。1。不,恐怕不可能<接受代码>iError(wb.Range(“A1”).Value)=True,但同一行还包含“wb.Range(“A1”).Value=“n/a”,编译器无法对其求值。。。2.正是由于我试图在上面解释的相同原因……您可以使用范围的
Text
属性,但速度较慢。