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