Как использовать еслиошибка в 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: как использовать ЕСЛИ НЕ для проверки невыполнения условия

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *