Я нашел много дискуссий о том, как это сделать в Excel, но моя цель - захватить REF! ошибка в VBA, а не в самом Excel. Является ли это возможным ?Как проверить, что ячейка Excel содержит REF! ошибка в VBA
3
A
ответ
4
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
пример
- введите "= 1/0" в Б2 создать ошибку, отличную от "#REF!"
- введите 1 в B4, B5
- ввести "= B4 + B5" в B7
- удаления строки 4
- выполнения
Sub CheckRef()
Он будет содержать значение ошибки. например activecell.Value = Ошибка 2042 для # N/A –