Vba: используйте если или для проверки нескольких условий


Вы можете использовать следующий базовый синтаксис в VBA с ЕСЛИ и ИЛИ, чтобы проверить, выполняются ли несколько условий:

 Sub IfOrTest()
    If Range(" A2 ") = "Warriors" Or Range(" B2 ") > 100 Then
    Range(" C2 ").Value = " Yes! "
    Else
    Range(" C2 ").Value = " No. "
   End If
End Sub

В этом конкретном примере проверяется, равно ли значение в ячейке A2 «Воинам» или значение в ячейке B2 больше 100.

Если любое из условий соблюдено, значение «Да!» » возвращается в ячейку C2 .

В противном случае значение «Нет». возвращается в ячейку C2 .

В следующем примере показано, как использовать этот синтаксис на практике.

Связанный: VBA: используйте ЕСЛИ И для проверки нескольких условий

Пример. Используйте IF AND для проверки нескольких условий в VBA.

Предположим, у нас есть следующие данные в Excel:

Предположим, мы хотим определить, является ли название команды Warriors или значение очков больше 100, и вернуть результат в ячейку C2 .

Для этого мы можем создать следующий макрос:

 Sub IfOrTest()
    If Range(" A2 ") = "Warriors" Or Range(" B2 ") > 100 Then
    Range(" C2 ").Value = " Yes! "
    Else
    Range(" C2 ").Value = " No. "
   End If
End Sub

Когда мы запускаем этот макрос, мы получаем следующий вывод:

Макрос корректно возвращает значение «Да!» » в ячейке C2 , поскольку выполнено хотя бы одно из условий.

Если мы изменим значение точек в ячейке A2 , а затем снова запустим макрос, он проверит, выполняются ли оба условия для новых значений:

Например, предположим, что мы меняем название команды на «Рокетс» и снова запускаем макрос:

Макрос корректно возвращает значение «Нет». в ячейке C2 , поскольку ни одно из условий не было выполнено.

Если вместо этого вы хотите отобразить результаты в окне сообщения, вы можете использовать следующий синтаксис:

 Sub IfOrTest()
    If Range(" A2 ") = "Warriors" Or Range(" B2 ") > 100 Then
    MsgBox “ Yes!Else
    MsgBox “ No.End If
End Sub

Когда мы запускаем этот макрос, мы получаем следующий вывод:

В окне сообщения возвращается «Нет». поскольку ни одно из условий не было выполнено.

Примечание . В этом примере мы использовали оператор «Или» в нашем макросе только один раз, чтобы проверить, выполняются ли два условия, но вы можете использовать столько операторов « Или» , сколько хотите, чтобы проверить, выполняются ли более двух условий.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:

VBA: как использовать ВПР
VBA: как подсчитать вхождение символов в строку
VBA: как проверить, содержит ли строка другую строку

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

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