Управляющая инструкция If-Then-Else

Управляющие структуры

End Sub

End If

Else

End Sub

Сохраняемые подпрограммы и функции

End Function

End Sub

End Sub

Private Sub ПрограммаУровняМодуля (ByVal Var1)

MsgBox Var1 * GetRand

Private Function GetRand()

GetRand = Int(100 * Rnd())

Сначала программа ВызовПрограммыУровняМодуля вызывает функцию GetRand для генерации случайного целого числа от 0 до 99, а затем передает его в подпрограмму ПрограммаУровняМодуля. Там этот аргумент умножается на результат еще одного обращения к GetRand. Их произведение выводится в информационном окне.

Подпрограмму и функцию можно сделать сохраняемыми. В результате сохраняемыми станут все переменные в этой подпрограмме или функции, как показано в примере.

Sub ВызовСтатическойПодпрограммы()

СтатическаяПодпрограмма

СтатическаяПодпрограмма

Static Sub СтатическаяПодпрограмма()

Dim Var1 As String

If Var1 = "" Then

Var1 = "Var1 ещё не статическая переменная "

Var1 = " Var1 – статическая переменная."

MsgBox Var1

Переменная Var1 определяется и получает значение в программе СтатическаяПодпрограмма. Она является сохраняемой поскольку подпрограмма определена с ключевым словом Static. Программа СтатическаяПодпрограмма вызывается дважды, оба раза выводит на экран информационное окно, где во второй раз подтверждает, что значение Var1 действительно сохранилось.

Управляющие структуры VBA эквивалентны подобным структурам в других языках программирования, за исключение инструкции For-Each-Next.

Ниже перечислены основные управляющие структуры VBA.

If-Then-Else Выполняет группу инструкций, если соблюдено некоторое условие
Select Case В зависимости от значения некоторой переменной или результата проверки условия выполняет одну из нескольких возможных групп инструкций
For-Next Выполняет группу инструкций заданное число раз
For-Each-Next Выполняет действие над каждым объектом семейства или элементом массива
While-Wend Выполняет группу инструкций, пока соблюдается некоторое условие
Do-Loop Выполняет группу инструкций, пока соблюдается или не соблюдается некоторое условие

Функционально они делятся на две группы:

§ перехода и выбора (GoTo, If-Then-Else, Select Case)

§ повтора (For-Next, While-Wend, Do-Loop, For-Each-Next)

Рассмотрим подробнее действие этих структур.

Условная инструкция If-Then-Else изменяет порядок выполнения программы в зависимости от результатов проверки некоторого условия.

Sub IfThenElse()

Dim Num1 As Integer

Num1 = GetRandomNumber

If Num1 = 7 Then

MsgBox "Поздравляю! Вы выиграли! Выпало число " &

Num1 & "."


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: