Vba: використовуйте if and для перевірки кількох умов


Ви можете використовувати такий базовий синтаксис у VBA з IF та AND, щоб перевірити, чи виконано кілька умов:

 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: як використовувати VLOOKUP
VBA: як підрахувати випадки появи символів у рядку
VBA: як перевірити, чи містить рядок інший рядок

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *