我发现很多关于如何在Excel中进行的讨论,但我的目标是捕获REF! VBA中的错误,而不是Excel本身。有可能吗?
答案 0 :(得分:5)
If IsError(cell.Value) Then
If cell.Value = CVErr(xlErrName) Then
...
End If
End If
原始代码错误,如果单元格不包含错误,则会出现“类型不匹配”错误。
的
的If cell.Value = CVErr(xlErrRef) Then
...
End If
的
答案 1 :(得分:2)
Sub CheckRef()
Dim CheckRange As Range, CheckCell As Range
Set CheckRange = [A1:D10] ' as per app
For Each CheckCell In CheckRange
If IsError(CheckCell) And _
CVErr(CheckCell) = CVErr(2023) Then ' 2023 --> xlErrRef
MsgBox ("#REF! in " & CheckCell.AddressLocal)
Exit Sub ' exit after first #REF! found
End If
Next CheckCell
End Sub
例如
Sub CheckRef()