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


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

 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 для перевірки кількох умов

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

Наприклад, скажімо, ми змінимо назву команди на «Rockets» і знову запустимо макрос:

Макрос правильно повертає значення «Ні». у комірці C2 , оскільки жодна умова не виконана.

Якщо замість цього ви хочете відобразити результати у вікні повідомлення, ви можете використати такий синтаксис:

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

Коли ми запускаємо цей макрос, ми отримуємо такий результат:

Вікно повідомлення повертає «Ні». оскільки жодна умова не була виконана.

Примітка : у цьому прикладі ми використали оператор Or лише один раз у нашому макросі, щоб перевірити, чи виконуються дві умови, але ви можете використовувати скільки завгодно операторів Or , щоб перевірити, чи виконується більше двох умов.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:

VBA: як використовувати VLOOKUP
VBA: як підрахувати випадки появи символів у рядку
VBA: як перевірити, чи містить рядок інший рядок

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

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