Найважливішими операторами умов, які використовуються в Excel VBA, є оператори Якщо тоді и Виберіть регістр. Обидва ці вирази перевіряють одну або кілька умов і, залежно від результату, виконують різні дії. Далі ми поговоримо про ці два умовних оператори більш детально.
Інструкція “If…Then” у Visual Basic
Оператор Якщо тоді перевіряє умову і, якщо вона справджується (TRUE), то виконується вказаний набір дій. Він також може визначити набір дій, які потрібно виконати, якщо умова FALSE.
Синтаксис оператора Якщо тоді подобається це:
If Условие1 Then
Действия в случае, если выполняется Условие1
ElseIf Условие2 Then
Действия в случае, если выполняется Условие2
Else
Действия в случае, если не выполнено ни одно из Условий
End If
У цьому виразі елементи elseif и ще оператор умов можна опустити, якщо вони не потрібні.
Нижче наведено приклад використання оператора Якщо тоді Колір заливки активної клітинки змінюється залежно від значення в ній:
If ActiveCell.Value < 5 Then ActiveCell.Interior.Color = 65280 'Ячейка окрашується в зелений колір ElseIf ActiveCell.Value < 10 Then ActiveCell.Interior.Color = 49407 'Ячейка окрашується в оранжевий колір Else ActiveCell.Interior.Color = 255 'Ячейка окрашивается в красный цвет End If
Зауважте, що як тільки умова стає істинною, виконання умовного оператора припиняється. Отже, якщо значення змінної ActiveCell менше 5, тоді перша умова стає істинною, і клітинка забарвлюється в зелений колір. Після цього виконання заяви Якщо тоді переривається, а інші умови не перевіряються.
Докладніше про використання умовного оператора у VBA Якщо тоді можна знайти в мережі Microsoft Developer Network.
Інструкція «Виберіть регістр» у Visual Basic
Оператор Виберіть регістр подібний до оператора Якщо тоді тим, що він також перевіряє істинність умови і залежно від результату вибирає один із варіантів.
Синтаксис оператора Виберіть регістр подобається це:
Select Case Выражение
Case Значение1
Действия в случае, если результат Выражения соответствует Значению1
Case Значение2
Действия в случае, если результат Выражения соответствует Значению2
...
Case Else
Действия в случае, если результат Выражения не соответствует ни одному из перечисленных вариантов Значения
End Select
Елемент Інший випадок не є обов’язковим, але рекомендується для обробки неочікуваних значень.
У наступному прикладі використовується конструкція Виберіть регістр змінює колір заливки поточної клітинки залежно від значення в ній:
Виберіть Case ActiveCell.Value Case Is <= 5 ActiveCell.Interior.Color = 65280 'Ячейка окрашується в зелений колір Case 6, 7, 8, 9 ActiveCell.Interior.Color = 49407 'Ячейка окрашується в оранжевий колір Case 10 ActiveCell.Interior. Color = 65535 'Ячейка окрашивается в жовтий колір Case 11 To 20 ActiveCell.Interior.Color = 10498160 'Ячейка окрашивается в лиловий колір Case Else ActiveCell.Interior.Color = 255 'Ячейка окрашивается в червоний колір End Select
Наведений вище приклад показує, як ви можете встановити значення для елемента різними способами. випадок в будівництві Виберіть регістр. Це способи:
Справа є <= 5 | Таким чином, використовуючи ключове слово Справа є ви можете перевірити, чи задовольняє значення Вирази стан форми <= 5. |
випадок 6, 7, 8, 9 | Таким чином ви можете перевірити, чи збігається значення Вирази з одним із наведених значень. Перераховані значення розділяються комами. |
випадок 10 | Це перевіряє, чи значення збігається Вирази із заданим значенням. |
випадок 11 Це воно 20 | Таким чином, ви можете написати вираз, щоб перевірити, чи задовольняє значення Вирази стан форми від 11 в 20 (еквівалентно нерівності «11<=значення<=20»). |
Інший випадок | Ось так, використовуючи ключове слово ще, дії вказані для випадку, якщо значення Вирази не відповідає жодному з перелічених варіантів випадок. |
Як тільки одна з умов знайдена, виконуються відповідні дії і структура виходить. Виберіть регістр. Тобто в будь-якому випадку буде виконано тільки одне з перерахованих розгалужень. випадок.
Докладніше про роботу інструкції VBA Виберіть регістр можна знайти в мережі Microsoft Developer Network.