Основы программирования на языке Visual Basic for Applications (VBA). Операторы организации ветвящейся структуры программы.
Условный оператор (If…Then…Else…End If)
Условный оператор позволяет выбирать и выполнять действия в зависимости от истинности некоторого условия.
Синтаксис: условный оператор имеет два варианта синтаксиса.
a) однострочная форма записи условного оператора:
If <условие>Then[<операторы 1>][Else [<операторы 2>]]
б)блочная форма записи условного оператора:
If <условие 1>Then
[<операторы 1>]
. . .
[ElseIf<условие n>Then
[<операторы n> ]…
[Else]
[<ИначеОператоры>]]
Порядок выполнения: вычисляется значение <условие>. Оно может принимать значения TRUE (Истина)или FALSE (Ложь). Если <условие> принимает значение TRUE, то выполняются [<операторы 1>], в противном случае, т.е. значение <условие> FALSE, [<операторы 2>] (операторы ветки Else).
Изображение в блок – схеме:
Пример: определить вид введенного числа – положительное, отрицательное или ноль.
Public Sub prog2()
Dim x As Double
Dim s As String
x=Worksheets(1).Range("A1")
If x > 0 Then
s = "положительное"
ElseIf x = 0 Then
s = "ноль"
Else
s = "отрицательное"
End If
Worksheets(1).Range("C2")=s
End Sub
Описание переменной строкового типа
Ввод значения переменной х. Значение располагается на Листе1 (Worksheets(1)) в ячейке А1 (Range ("A1")).
Условный оператор. Если условие принимает значение True (Истина), то выполняется оператор присваивания ветки Then (s=”положительное”) и завершается условный оператор, в противном случае проверяется второе условие: x=0. Если условие True, то s присваивается значение “нуль”, иначе – “отрицательное”.
Вывод результата–s–на лист1 в ячейку С2.
Рисунок 7 - Блок-схема программы prog2
Если выбор одной из нескольких возможности все время основан на различных значениях одного и того же выражения, то можно использовать специально предназначенный для этого оператор выбора Select Case.
Проверяемое выражение вычисляется в начале работы оператора Select Case. Это выражение может возвращать значение любого типа. Список выражений представляет собой одно или несколько выражений, разделенных запятой. При выполнении инструкции (оператора) проверяется, соответствует ли хотя бы один из элементов этого списка проверяемому выражению.