input不匹配时检查单元格是否有错误
If Cells(i, 4).Value = xlErrNA Then MsgBox ("Error on row " & i) Exit Sub End If
如果说错了,我觉得我正在设置这个。 我也尝试了“#N / A”并得到了同样的失败。 任何指导?
错误types不能与string/数字types进行比较,因为它们是两种不同types的数据。
首先,你需要检查错误:
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
将testing任何错误值,而您的= xlErrNA
仅检查特定错误: = xlErrNA
#N/A
CVErr
函数将枚举常量xlErrNA
(长/数值)转换为错误types。
您可能需要为其他错误types#REF!"
#Name!
等等添加其他条件,或者您可以简单地省略If Cells(i, 4). Value = xlErrNA
,然后这将处理任何错误值。
If IsError(Cells(i, 4).Value) Then MsgBox ("Error on row " & i) Exit Sub End If
您可以使用IsError
函数来检查单元是否包含像这样的错误:
If IsError(Cells(i, 4).Value) Then MsgBox ("Error on row " & i) Exit Sub End If