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: как проверить, содержит ли строка другую строку