Основы автоматизации офисных приложений часть. Основы языка VBA. Операторы принятия решения

Содержание

Слайд 2

Операторы принятия решения Операторы принятия решения позволяют выполнять группы команд в

Операторы принятия решения

Операторы принятия решения позволяют выполнять группы команд в зависимости

от значения выражения.
В VBA для принятия решения используются два оператора:
If – Then – Else
Select Case
Слайд 3

Оператор If – Then - Else Синтаксис: If Then [Команда] [Else

Оператор If – Then - Else

Синтаксис:
If <условие> Then [Команда] [Else Команда_else]

Пример:
If

Сумма > 1000 Then Скидка = 0.05 Else Скидка = 0

Если <условие> принимает значение True, то выполняется Команда, если False, то Команда_else. Ветвь Else является необязательной.

Допускается также использование блочной формы синтаксиса:
If <условие> Then
[Команды]
[Else
Команды_else]
End If

Пример:
If Сумма > 1000 Then
Скидка = 0.05
Else
Скидка = 0
End If

Слайд 4

Оператор Select Case Выполняет одну из нескольких групп команд, в зависимости

Оператор Select Case

Выполняет одну из нескольких групп команд, в зависимости от

значения выражения.

Синтаксис:
Select Case <Выражение>
[Case СписокВыражений-1
[Команды-1]]

[Case СписокВыражений-n
[Команды-n]]
[Case Else
[Команды-Else]]
End Select

Пример
Число = InputBox(“Введите целое число”)
Select Case Число
Case 1
MsgBox “Число равно 1”
Case 2, 3
MsgBox “Число равно 2 или 3”
Case 4 To 6
MsgBox “Число от 4 до 6”
Case Is >= 7
MsgBox “Число не менее 7”
End Select

Слайд 5

Основы автоматизации офисных приложений часть 1 Основы языка VBA Операторы циклов

Основы автоматизации офисных приложений часть 1 Основы языка VBA

Операторы циклов

Слайд 6

Оператор цикла с параметром For – Next Синтаксис: For counter =

Оператор цикла с параметром For – Next

Синтаксис:
For counter = start To

end [Step step]
[statements]
[Exit For]
[statements]

Next [counter]

Необязательные параметры:
statements – один или несколько операторов между for и Next, которые выполняются указанное число раз.
step –шаг изменения счетчика. Если не указано, шаг по умолчанию равен одному.

Обязательные параметры:
counter – числовая переменная, используемая в качестве счетчика цикла.
Переменная не может быть элементом типа Boolean или array.
start – начальное значение счетчика.
end - конечное значение счетчика.

Слайд 7

Оператор цикла с параметром For … Each … Next Синтаксис: For

Оператор цикла с параметром For … Each … Next

Синтаксис:
For Each

In
[]
[Exit For]
[]

Next

- переменная используется для итерации по элементам кол-лекции или массива.
Для коллекций элемент может быть только переменной Variant, универсальной переменной объекта или любой конкретной переменной объекта.
Для массивов элемент может быть только переменной Variant.
- имя коллекции объектов или массива (кроме массива опреде-ляемых пользователем типов).

Для перебора объектов из группы подобных объектов, например, ячеек из диапазона или элементов массива, удобно использовать оператор цикла
For … Each … Next.

Слайд 8

Оператор цикла с параметром For … Each … Next Пример. Просуммировать

Оператор цикла с параметром For … Each … Next

Пример. Просуммировать элементы

массива с помощью оператора For Each
Sub DemoForEach()
Dim A As Variant
A = Array(1, 4, 12, 23, 34, 3, 23)
Dim s As Double
s = 0
For Each b In A
s = s + b
Next
MsgBox s
End Sub
Слайд 9

Цикл с предусловием Do, While, Loop, Exit Do – зарезервированные слова.

Цикл с предусловием

Do, While, Loop, Exit Do – зарезервированные слова.
<условие> –

числовое или строковое выражение, которое имеет значение True или False.
Если условие имеет значение NULL, условие считается ложным.

Цикл с предусловием – наиболее универсальная циклическая структура для организации выполнения операторов, составляющих тело цикла, неизвестное заранее число раз.
Синтаксис:

Слайд 10

Алгоритм работы оператора. Вначале вычисляется значение выражения . Если в цикле

Алгоритм работы оператора.
Вначале вычисляется значение выражения <условие>.
Если в цикле

используется while и <условие> имеет значение True, выполняется <тело цикла>, после чего вычисление значения выражения <условие> повторяется.
Если <условие> имеет значение False, оператор прекращает свою работу.
Если в цикле используется Until и <условие> имеет значение False, выполняется <тело цикла>, после чего вычисление значения выражения <условие> повторяется.
Если <условие> имеет значение True, оператор прекращает свою работу.
Слайд 11

Алгоритм работы оператора. Истинность логического выражения проверяется вначале каждого прохождения цикла,

Алгоритм работы оператора.
Истинность логического выражения проверяется вначале каждого прохождения цикла,

поэтому тело цикла может не выполняться ни разу.
Для досрочного выхода из do ... цикла можно использовать оператор Exit Do, который обычно используется после оценки некоторого условия, например, с помощью оператора If ... Then.
В этом случае оператор Exit Do передает управление оператору сразу после цикла.
Слайд 12

Цикл с постусловием Do [ ] [Exit Do] [ ] …

Цикл с постусловием

Do
[<тело цикла>]
[Exit Do]
[<тело цикла>]

Loop While <условие>

Do, While, Loop, Exit

Do – зарезервированные слова.
<условие> – числовое или строковое выражение, которое имеет значение True или False.
Если условие имеет значение NULL, условие считается ложным.

Цикл с постусловием имеет две формы записи:
Синтаксис:

Do
[<тело цикла>]
[Exit Do]
[<тело цикла>]

Loop Until <условие>