If Cells(i, 4).Value = xlErrNA Then
MsgBox ("Error on row " & i)
Exit Sub
End If
我想我设置这个if语句错了。我也试过#34;#N / A"并得到了同样的失败。任何指导?
答案 0 :(得分:4)
错误类型无法与字符串/数字类型进行比较,因为它们是两种不同的类型数据。
首先,您需要检查错误:
If IsError(Cells(i, 4).Value) Then
If Cells(i, 4). Value = CVErr(xlErrNA) Then
MsgBox ("Error on row " & i)
Exit Sub
End If
End If
请注意,IsError
将测试任何错误值,而= xlErrNA
仅检查特定错误:{{1} }。 #N/A
函数将枚举常量CVErr
(长/数值)转换为其等效的错误类型。
您可能需要为其他错误类型xlErrNA
#REF!"
等添加其他条件,或者您可以省略#Name!
然后这将处理任何错误值。
If Cells(i, 4). Value = xlErrNA
答案 1 :(得分:1)
您可以使用IsError
函数检查单元格是否包含如下错误:
If IsError(Cells(i, 4).Value) Then
MsgBox ("Error on row " & i)
Exit Sub
End If