Перевірка умов в vba, оператор

3.5.1 Оператори умовного і безумовного переходу. Оператор If ... Then. Else

Перевірка умов в VBA, оператор If. Then. Else, вкладені конструкції If

Оператори умовного переходу - одні з найважливіших і часто використовуваних елементів в мовах програмування. Загальний принцип їх роботи простий: перевіряється відповідність якимось умовам (істинність або хибність будь-яких виразів) і в залежності від цього виконання програми направляється по одній або іншій гілці. У VBA передбачено два оператора умовного переходу: If ... Then. Else і Select Case.

Оператор If ... Then. Else - найпопулярніший у програмістів. Повний його синтаксис виглядає так:

If Умова Then
команди1

[ElseIf Умови N Then
Команди N]

  • Умова - вираз, який перевіряється на істинність. Якщо воно істинне, то виконуються команди 1, якщо помилково - команди 2;
  • УсловіяN - додаткові умови, які також можна перевірити. У разі, якщо вони виконуються (вираз УсловіяN істинно), то виконуються КомандиN.

Оператор If ... Then. Else застосовується:

  • коли потрібно перевірити на відповідність одній умові і в разі відповідності зробити якусь дію:

If nTemperature <10 Then

MsgBox "Одягнути куртку"

  • коли потрібно зробити те, же що і в попередньому прикладі, а в разі невідповідності виконати іншу дію:

If nTemperature <10 Then

MsgBox "Одягнути куртку"

MsgBox "Одягнути вітровку"

  • коли потрібно перевірити на відповідність декільком умовам (зверніть увагу на використання логічних операторів):

If (nTemperature <10) And (bRain = True) Then

MsgBox "Одягнути куртку і взяти парасольку"

  • коли в разі, якщо перша перевірка повернула False, потрібно перевірити на відповідність ще декільком умовам (в цьому випадку зручно використовувати ElseIf):

If (bIGoInCar = True) Then

MsgBox "Одягтися для машини"

ElseIf nTemperature <10 Then

MsgBox "Одягнути куртку"

MsgBox "Можна йти в сорочці"

У цьому прикладі, оскільки bIGoInCar - змінна типу Boolean і сама по собі приймає значення True або False, перший рядок може виглядати так:

If bIGoInCar Then ...

Деякі зауваження щодо використання If ... Then. Else:

  • ключове слово Then має перебувати в одному рядку з If і умовою. Якщо ви перенесете його на наступний рядок, буде видано повідомлення про помилку;
  • якщо розмістити команду, яку потрібно виконати при істинності перевіряється умови, на одному рядку з If і Then, то End If можна не писати:

If nTemperature <10 Then MsgBox "Одеть куртку"

If MyVar = 5 Then

MsgBox "MyVar = 5"

If MyVar = 10 Then

MsgBox "MyVar = 10"

Схожі статті