Adr*_* A. 5 error-handling excel vba excel-vba
我想#N/A用VBA 检查一个值到excel中.经过一些研究,我制作了这段代码:
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
Run Code Online (Sandbox Code Playgroud)
但是当它传递给MyTab(i, j).value <> CVErr(xlErrNA)我时我有一个错误13(type error),我找不到原因.
任何人都可以帮助我PLZ?
ass*_*ias 10
首先需要检查单元格是否包含错误:
If IsError(MyTab(i, j).Value) Then
If MyTab(i, j).Value <> CVErr(xlErrNA) Then
Run Code Online (Sandbox Code Playgroud)
除非您确实想知道错误的类型(#N/A,#DIV/0!等),否则您也可以用以下内容替换您的测试:
If (Not IsEmpty(MyTab.value)) And (Not IsError(MyTab(i, j).value)) Then
Run Code Online (Sandbox Code Playgroud)
如果需要检查错误类型,可以写:
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
47398 次 |
| 最近记录: |