Значения ошибок в ячейках таблицы Excel. Вставка значения ошибки и проверка значения ячейки на ошибку из кода VBA с помощью функции CVErr.
Значения ошибок в ячейках
Значения ошибок ячеек представлены константами из коллекции xlCVError, перечисленными в следующей таблице:
Константа | Номер ошибки | Значение ошибки |
---|---|---|
xlErrDiv0 | 2007 | #ДЕЛ/0! |
xlErrNA | 2042 | #Н/Д |
xlErrName | 2029 | #ИМЯ? |
xlErrNull | 2000 | #ПУСТО! |
xlErrNum | 2036 | #ЧИСЛО! |
xlErrRef | 2023 | #ССЫЛКА! |
xlErrValue | 2015 | #ЗНАЧ! |
Вставка значений ошибок
Вставка значений ошибок в ячейки рабочего листа из кода VBA Excel с помощью функции CVErr:
1 2 3 4 5 6 7 |
Sub Primer1() Dim myArray, i myArray = Array(xlErrDiv0, xlErrNA, xlErrName, xlErrNull, xlErrNum, xlErrRef, xlErrValue) For i = 1 To 7 Cells(i, 1).Value = CVErr(myArray(i - 1)) Next i End Sub |
Данный код заполняет ячейки диапазона «A1:A7» всеми значениями ошибок из коллекции xlCVError.
Результат работы кода:
Проверка на наличие ошибки
Проверка активной ячейки на наличие значения ошибки из кода VBA Excel с помощью функции CVErr:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Sub Primer2() Dim errval errval = ActiveCell If IsError(errval) Then Select Case errval Case CVErr(xlErrDiv0) MsgBox "Ошибка: #ДЕЛ/0!" Case CVErr(xlErrNA) MsgBox "Ошибка: #Н/Д" Case CVErr(xlErrName) MsgBox "Ошибка: #ИМЯ?" Case CVErr(xlErrNull) MsgBox "Ошибка: #ПУСТО!" Case CVErr(xlErrNum) MsgBox "Ошибка: #ЧИСЛО!" Case CVErr(xlErrRef) MsgBox "Ошибка: #ССЫЛКА!" Case CVErr(xlErrValue) MsgBox "Ошибка: #ЗНАЧ!" End Select Else MsgBox "Ошибки нет!" End If End Sub |
Выберите одну из ячеек со значениями ошибок, полученных с помощью кода первого примера, и запустите код второго примера.
Информационное окно MsgBox покажет значение ошибки, записанное в активную ячейку. Если будет выбрана ячейка без ошибки, MsgBox сообщит об отсутствии ошибки.
Фразы для контекстного поиска: функция CVErr, значение ошибки, ошибка.