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