1

如何使用 VBA 检查 Excel 中的范围是否包含任何 #N/A 或其他类型的错误?我知道如何为单个单元格执行此操作:

IsError(Sheets("Main").Range("B1").value

但对多单元格范围执行相同操作:

IsError(Sheets("Main").Range("A12:N32").value)

不会发现错误。如果我在工作表的一个单元格中使用 IsError 函数作为公式,它会起作用并找出错误:

=ISERROR(A12:N32)

提前致谢。

4

1 回答 1

2

请打开一个新工作簿并尝试下面的代码。
这会将 3 个值写入 A 列,然后遍历该列并在发生错误时显示一个 msgbox。尝试一下!

Option Explicit

Sub Throw_Errors()
    Dim ws As Worksheet, rng As Range, i&: Set ws = Sheets(1)
    ws.Range("A2") = "=100/0"
    ws.Range("A3") = "=A2/0"
    ws.Range("A4") = "=100/10"
    For i = 2 To ws.Range("A" & Rows.Count).End(xlUp).Row
        Set rng = ws.Range("A" & i)
        If IsError(rng) Then MsgBox "error in row" & rng.Row
        Set rng = Nothing
    Next i
End Sub

如果您想了解如何检查不同类型的错误,还请查看此答案!

于 2013-05-30T08:22:41.470 回答