将vba中的“#N/A”值检查为一个范围
问题描述:
我想检查一个#N/A
值是否与VBA相符。因此,一些研究之后,我做了这个代码:将vba中的“#N/A”值检查为一个范围
Set MyTab = Range(name)
If (Not IsEmpty(MyTab.value)) And (MyTab(i, j).value <> CVErr(xlErrNA)) Then
Call BuildRequest(False, id, MyTab, i, j)
End If
但是,当它MyTab(i, j).value <> CVErr(xlErrNA)
过去,我有一个错误13(type error)
,我没有找到原因。
任何人都可以帮我解决吗?
答
首先,您需要检查电池确实包含一个错误:
If IsError(MyTab(i, j).Value) Then
If MyTab(i, j).Value <> CVErr(xlErrNA) Then
除非你想知道错误的类型(#N/A,#DIV/0!,等等),你
If (Not IsEmpty(MyTab.value)) And (Not IsError(MyTab(i, j).value)) Then
如果您需要检查错误类型,你可以写:不妨将其替换测试
Dim shouldBuildRequest As Boolean
shouldBuildRequest = Not IsEmpty(MyTab.value)
If IsError(MyTab(i, j).Value) Then
shouldBuildRequest = shouldBuildRequest AND (MyTab(i, j).Value <> CVErr(xlErrNA))
End If
If shouldBuildRequest Then
Call BuildRequest(False, id, MyTab, i, j)
End If
+ 1好一个:) – 2012-07-09 11:39:35
感谢它:)。你到Siddharth Rout – 2012-07-09 12:22:59