如何使用VBA检查Excel中的范围是否包含任何#N / A或其他类型的错误?我知道如何为单个细胞做到这一点:
IsError(Sheets("Main").Range("B1").value
但对多细胞范围也这样做:
IsError(Sheets("Main").Range("A12:N32").value)
没有发现错误。如果我在工作表的一个单元格中使用IsError函数作为公式,它可以正常工作并选择错误:
=ISERROR(A12:N32)
先谢谢。
答案 0 :(得分:1)
请打开新工作簿并尝试以下代码。
这将向A列写入3个值,然后遍历该列并在发生错误时显示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
如果您想了解如何检查不同类型的错误,请查看this answer!