Как использовать еслиошибка в vba (с примерами)
Вы можете использовать следующий базовый синтаксис, чтобы использовать функцию ЕСЛИОШИБКА в VBA для отображения определенного значения в ячейке, если в формуле Excel обнаружена ошибка:
SubIfError ()
Dim i As Integer
For i = 2 To 11
Cells(i, 4).Value = WorksheetFunction.IfError(Cells(i, 3).Value, " Formula Error ")
Next i
End Sub
В этом конкретном примере проверяется, имеет ли каждая ячейка в строках со 2 по 11 третьего столбца текущего листа значение ошибки.
Если встречается значение ошибки, значение «Ошибка формулы» присваивается соответствующей ячейке в четвертом столбце, в противном случае числовое значение в третьем столбце присваивается соответствующему значению в четвертом столбце.
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: как использовать ЕСЛИОШИБКА в VBA
Предположим, у нас есть следующий набор данных в Excel, который показывает общий доход и количество проданных единиц продукта в разных магазинах:
В столбце C используется формула для деления дохода на проданные единицы, чтобы получить доход на единицу.
Однако обратите внимание, что формула дает значение #DIV/0! в некоторых ячейках, где мы пытаемся разделить на ноль.
Допустим, мы хотим создать новый столбец, который вместо этого отображает «Ошибка формулы» для этих ячеек.
Для этого мы можем создать следующий макрос:
SubIfError ()
Dim i As Integer
For i = 2 To 11
Cells(i, 4).Value = WorksheetFunction.IfError(Cells(i, 3).Value, " Formula Error ")
Next i
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Значения в столбце D отображают либо результаты формулы в столбце C, либо значение «Ошибка формулы», если отображается значение ошибки.
Не стесняйтесь изменить «Ошибка формулы» в методе IfError в коде, чтобы вместо этого отображать нужное значение при возникновении ошибки.
Примечание . Полную документацию по методу VBA IfError можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
VBA: как использовать ЕСЛИ ИЛИ для проверки нескольких условий
VBA: как использовать ЕСЛИ И для проверки нескольких условий
VBA: как использовать ЕСЛИ НЕ для проверки невыполнения условия