Самовчитель по excel vba оператори умови в vba

Найбільш важливі оператори умови, що використовуються в Excel VBA - це оператори If. Then і Select Case. Обидва цих вираження перевіряють одне або кілька умов і, в залежності від результату, виконають різні дії. Далі ми поговоримо про ці дві операторах умови докладніше.

Оператор «If. Then »в Visual Basic

Оператор If. Then перевіряє умова і, якщо воно істинно (TRUE), то виконується заданий набір дій. Також може бути визначений набір дій, які повинні бути виконані, якщо умова помилкова (FALSE).

Синтаксис оператора If. Then ось такий:

If Условіе1 Then
Дії в разі, якщо виконується Условіе1
ElseIf Условіе2 Then
Дії в разі, якщо виконується Условіе2
Else
Дії в разі, якщо не виконано жодне з Умов
End If

У цьому виразі елементи ElseIf і Else оператора умови можуть не використовуватися, якщо в них немає необхідності.

Нижче наведено приклад, в якому за допомогою оператора If. Then колір заливки активної комірки змінюється в залежності від наявного в ній значення:

Зверніть увагу, що як тільки умова стає істинним, виконання умовного оператора переривається. Отже, якщо значення змінної ActiveCell менше 5, то істинним стає перша умова і осередок забарвлюється в зелений колір. Після цього виконання оператора If. Then переривається і інші умови не перевіряються.

Більш докладно про застосування в VBA умовного оператора If. Then можна дізнатися на сайті Microsoft Developer Network.

Оператор «Select Case» в Visual Basic

Оператор Select Case схожий з оператором If. Then в тому, що він також перевіряє істинність умови і, в залежності від результату, вибирає один з варіантів дій.

Синтаксис оператора Select Case ось такий:

Select Case Вираз
Case значення1
Дії в разі, якщо результат Вирази відповідає Значенію1
Case значення2
Дії в разі, якщо результат Вирази відповідає Значенію2
.
Case Else
Дії в разі, якщо результат Вирази не відповідає жодному з перерахованих варіантів Значення
End Select

Елемент Case Else не є обов'язковим, але його рекомендується використовувати для обробки непередбачених значень.

У наступному прикладі за допомогою конструкції Select Case змінюється колір заливки поточної комірки в залежності від наявного в ній значення:

У наведеному вище прикладі показано, як можна різними способами задати значення для елемента Case в конструкції Select Case. Ось ці способи:

Таким чином за допомогою ключового слова Case Is можна перевірити, чи задовольняє значення Вирази умові виду <=5 .

Так можна перевірити, чи збігається значення Вирази з одним з перерахованих значень. Перераховані значення розділяються комами.

Так перевіряється, чи збігається значення Вирази із заданим значенням.

Таким чином можна записати вираз для перевірки, чи задовольняє значення Вирази умові виду від 11 до 20 (еквівалентно нерівності "11<=значение<=20").

Ось так, за допомогою ключового слова Else. вказуються дії для того випадку, якщо значення Вирази не відповідає жодному з перерахованих варіантів Case.

Як тільки одна з умов буде знайдено, виконуються відповідні дії і виробляється вихід з конструкції Select Case. Тобто в будь-якому випадку буде виконана тільки одна з перерахованих гілок Case.

Більш детальну інформацію про роботу VBA оператора Select Case можна знайти на сайті Microsoft Developer Network.