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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В окне сообщения возвращается «Да!» » так как название команды — Warriors и количество очков больше 100.

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

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

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

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

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

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