Офисное программирование
Добавить в закладки К обложке
- Введение - Страница 1
- Часть IОсноные седения о программироании на VBA - Страница 2
- 1.2. Редактор VBA. Первое знакомство - Страница 7
- 1.3. Изменение порядка выполнения операторов - Страница 9
- Глава 2Объект UserForm - Страница 14
- 2.2. Использование форм - Страница 16
- Глава 3Массивы, процедуры, функции - Страница 20
- 3.2. Работа с различными типами данных - Страница 24
- 3.3. Процедуры и функции VBA - Страница 26
- Глава 4Создание VBA-программ - Страница 31
- 4.2. Элементы управления ComboBox, OptionButton и Frame - Страница 34
- 4.3. Элементы управления MultiPage, ScrollBar, SpinButton[2] - Страница 37
- 4.4. Объект DataObject[3] - Страница 41
- Часть IIПрограммирование на VBA в Word - Страница 44
- 5.2. Форматирование документа - Страница 48
- Глава 6Автоматизация стандартных документов - Страница 52
- 6.2. Создание и автоматическое заполнение бланков стандартных документов - Страница 55
- Часть IIIПрограммирование на VBA в Excel - Страница 58
- 7.2. Использование возможностей VBA при непосредственных расчетах - Страница 63
- 7.3. Финансовые функции - Страница 67
- Глава 8Построение диаграмм средстами VBA - Страница 69
- 8.2. Построение круговых диаграмм и гистограмм - Страница 72
- Глава 9Базы данных в Excel - Страница 73
- 9.2. Конструирование пользовательского интерфейса - Страница 76
- Глава 10Создание собственного головного меню[9] - Страница 78
- Литература - Страница 83
операторы – один или несколько операторов VBA, которые должны находиться в одной и той же строке.
Блок операторов If … Then … Else легче читать и понимать, и поскольку можно располагать операторы в разных строках внутри блока оператора If … Then … Else, он не имеет ограничения по размеру и числу операторов, которые можно помещать в альтернативные ветви.
Синтаксис:
If условие Then
Оператор1
Else
Оператор2
End If
VBA, как и многие языки программирования, имеет условный оператор перехода для использования в случаях, когда необходимо выбирать из большего количества различных ветвей кода: оператор Select Case. Данный оператор работает во многом так же, как и оператор If. Ключевые слова Select Case используются со многими операторами Case, где каждый оператор Case проверяет появление другого условия и выполняется только одна из ветвей Case. Ветвь Case может содержать один, несколько или ни одного оператора VBA.
Синтаксис:
Select Case выражение
Case условие_1
Оператор_1
Case условие_2
Оператор_2
…..
Case условие_N
Оператор_N
[Case Else
Оператор_N+1
End Select,
где выражение – любое численное или строковое выражение;
условие_1, условие_2, условие_N – (каждый) представляет список логических выражений, отделенных запятыми;
оператор_1, оператор_2, оператор_N, оператор_N+1 – (каждый) представляет один, несколько или ни одного оператора.
В Select Case можно включать столько операторов Case условия, сколько необходимо.
Примечание. Написание неоднострочных операторов в программах производится именно так (в столбец), либо редактор будет выдавать ошибку написания.
Оператор безусловного перехода всегда изменяет порядок выполнения операторов в процедуре или функции vba. При этом vba не проверяет никаких условий, а просто переходит к выполнению кода с другого места.
Оператор GoTo имеет следующий синтаксис:
GoTo метка
Метка – любое обозначение или номер строки в той же процедуре или функции, которая содержит оператор GoTo. При выполнении оператора GoTo VBA немедленно переходит к выполнению оператора в строке, определенной с помощью метки.
Пример 3. Создать программу, которая, используя инструкцию if … then, выполняет следующие действия: если переменной а присваивается значение больше нуля, то находится сумма чисел а и b, если меньше нуля, то находится произведение. Результат выводится в стандартное диалоговое окно msgbox.
Технология выполнения
1. В документе Операции (пример 2) выделите правой кнопкой мыши папку Modules и выполните команду: Insert + Module (рис. 6).
2. В появившемся модуле пропишите программу и запустите на выполнение.
Dim a, b, c As Integer
Sub poradok()
a = -5
b = 25
If a > 0 Then
c = a + b
MsgBox (c)
End If
If a < 0 Then
с = a * b
MsgBox (с)
End If
End Sub
В данной программе переменной а присвоено значение меньше нуля, следовательно, должна выполниться нижняя инструкция If (рис. 9).

Рис. 9. Результат работы при а < 0
3. Измените программу, поменяв значение а на положительное:
Dim a, b, c As Integer
Sub poradok()
a = 5
b = 25
If a > 0 Then
c = a + b
MsgBox (c)
End If
If a < 0 Then
c = a * b
MsgBox (c)
End If
End Sub
Примечание. Данную программу можно составить, используя полный блок инструкции If Then Else (рис. 10).

Рис. 10. Результат работы при а > 0
Dim a, b, c As Integer
Sub poradok()
a = 5
b = 25
If a > 0 Then
c = a + b
MsgBox (c)
Else
c = a * b