Вирази умов у VBA

Найважливішими операторами умов, які використовуються в 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.

залишити коментар