Аператары ўмоў у VBA

Найбольш важныя ўмовы, якія выкарыстоўваюцца ў Excel VBA, - гэта аператары Калі… Тады и Выберыце Рэгістр. Абодва гэтыя выразы правяраюць адну або некалькі ўмоў і, у залежнасці ад выніку, выконваюць розныя дзеянні. Пра гэтыя два ўмоўных аператары мы пагаворым больш падрабязна далей.

Аператар «Калі…Тады» ў Visual Basic

аператар Калі… Тады правярае ўмову і, калі яна праўдзівая (TRUE), выконваецца зададзены набор дзеянняў. Ён таксама можа вызначыць набор дзеянняў, якія трэба выканаць, калі ўмова ХЛУСНЯ.

Сінтаксіс аператара Калі… Тады як гэта:

If Условие1 Then

   Действия в случае, если выполняется Условие1

ElseIf Условие2 Then

   Действия в случае, если выполняется Условие2

Else

   Действия в случае, если не выполнено ни одно из Условий

End If

У гэтым выразе стых яшчэ калі и яшчэ аператар умоў можна апусціць, калі яны не патрэбныя.

Ніжэй прыведзены прыклад выкарыстання аператара Калі… Тады Колер залівання актыўнай ячэйкі змяняецца ў залежнасці ад значэння ў ёй:

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.

Аператар "Select Case" у Visual Basic

аператар Выберыце Рэгістр падобны на аператара Калі… Тады тым, што ён таксама правярае праўдзівасць умовы і ў залежнасці ад выніку выбірае адзін з варыянтаў.

Сінтаксіс аператара Выберыце Рэгістр як гэта:

Select Case Выражение

Case Значение1

   Действия в случае, если результат Выражения соответствует Значению1

Case Значение2

   Действия в случае, если результат Выражения соответствует Значению2

...

Case Else

   Действия в случае, если результат Выражения не соответствует ни одному из перечисленных вариантов Значения

End Select

Элемент Справа ў іншым не патрабуецца, але рэкамендуецца для апрацоўкі нечаканых значэнняў.

У наступным прыкладзе выкарыстанне канструкцыі Выберыце Рэгістр змяняе колер залівання бягучай ячэйкі ў залежнасці ад значэння ў ёй:

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.

Пакінуць каментар