- •1.Введение в программирование на vba Понятие объекта
- •Среда программирования
- •Типы данных
- •Переменные
- •Стандартные элементы управления. Объект Форма(UserForm) и элемент Кнопка(CommandButton)
- •Элемент Кнопка
- •Стандартные окна ввода и вывода сообщений
- •Окно сообщения
- •Окно ввода
- •Практические задания Задание 1.1
- •Задание 1.2
- •Задание 1.3
- •Задание 1.4
- •2.Реализация линейных алгоритмов Программирование арифметических выражений
- •Математические операции
- •Стандартные математические функции
- •Элементы Надпись(Label) и Поле(TextBox) Элемент Поле
- •Элемент Надпись
- •Практические задания Задание 2.1
- •Задание 2.2
- •Задание 2.3
- •3.Реализация алгоритмов с условиями Программирование условий Операторы сравнения
- •Логические операции
- •Инструкция If…Then…Else
- •Инструкция Select Case
- •Функции, используемые при программировании условий
- •Элементы Рисунок(Image), Счетчик и Полоса прокрутки(ScrollBar) Элемент Рисунок
- •Элемент Счетчик
- •Элемент Полоса прокрутки
- •Практические задания Задание 3.1
- •Задание 3.2
- •З адание 3.3
- •4.Реализация циклических алгоритмов Программирование циклов Цикл For…Next
- •Цикл Do While…Loop / Do…Loop While
- •Цикл Do Until...Loop / Do…Loop Until
- •Практические задания Задание 4.1
- •Задание 4.2
- •5.Использование процедур и функций в программах на vba Процедуры и функции
- •Элементы Рамка(Frame), Флажок(CheckBox), Переключатель(OptionButton), Выключатель(ToggleButton) Элемент Рамка
- •Элемент Флажок
- •Элемент Выключатель
- •Элемент Переключатель
- •Практические задания Задание 5.1
- •6.Использование структурированных типов данных на примере массивов Понятие массива. Работа с массивами
- •Практические задания Задание 6.1
- •Практические задания Задание 7.1
- •Задание 7.2
- •Задание 7.3
- •Задание 7.4
- •Задание 7.5
- •Задание 7.6
- •Задание 7.7
- •Задание 7.8
- •8.Работа с макросами в ms Excel Основные объекты ms Excel
- •Понятие макроса. Создание, редактирование, выполнение макросов
- •Цикл For Each
- •Инструкция With
- •Практические задания Задание 8.1
- •Задание 8.2
- •Задание 8.3
- •9.Создание приложений, управляемых с помощью диалоговых окон Элементы Поле со списком (ComboBox), Список (ListBox)
- •Практические задания Задание 9.1
- •Задание 9.2
- •10.Рекомендуемая литература
Инструкция If…Then…Else
Существуют две разновидности инструкции IF: линейная и блочная. Линейная форма IF имеет следующий синтаксис:
If условие Then инструкции [Else инструкции]
В этом случае вся конструкция размещается в одной строке. Если после Else используются несколько инструкций, то они разделяются двоеточием.
Синтаксис блочного оператора IF:
If условие Then
инструкции
[ElseIf условиеThen
инструкции ]
[Else
инструкции]
End If
Это наиболее общий случай. Количество секций ElseIf может быть любым, в том числе ни одной. Секция Else также может отсутствовать. При выполнении инструкции IF сначала проверяется первое условие. Если оно истинно, то выполняется первая группа инструкций, после чего программа перейдет к выполнению инструкций, следующих за End If. Если первое условие ложно, то проверяется второе условие и так далее. Инструкции в секции Else выполняются в том случае, если ни одно из условий не выполнено.
Инструкция Select Case
Конструкция Select Case позволяет выбирать одну из нескольких групп инструкций в зависимости от значения выражения. Число вариантов может быть любым. Управление получит та Case-строка, чье значение совпадет со значением анализируемого выражения. Строку Case Else можно опустить. Синтаксис оператора:
Select Case выражение
[Case списокВыражений
инструкции] ...
[Case Else
инструкции]
End Select
Анализируемое выражение должно возвращать значение типа, совместимого с типом значений в строках Case. Значения в строках Case можно указывать явно (в том числе в виде списка через запятую), можно задать диапазон (используется ключевое слово To), можно использовать операторы сравнения (для значения анализируемого выражения в этом случае используется ключевое слово Is). Например: Select Case MyValue
Case 1 To 4
S = "Значение в диапазоне от 1 до 4"
Case 5, 6, 7
S = "Значение равно 5, 6 или 7"
Case Is > 7 And MyValue < 11
S = "Значение больше 7, но меньше 11"
Case Else
S = "Значение меньше 1 или больше 10"
End Select
Функции, используемые при программировании условий
Название |
Возвращаемое значение |
IIf(выражение, true_значение, false_значение) |
Возвращает одно из двух значений в зависимости от истинности указанного выражения. Всегда вычисляет оба выражения, хотя возвращается только одно из них. |
Choose(индекс, элемент_1[, элемент_2, ... [, элемент_n]]) |
Функция возвращает значение из списка, выбранное на основании значения аргумента индекс. Если индекс равняется 1, возвращается первый элемент списка, если индекс равняется 2, возвращается второй элемент списка и т.п. Функция вычисляет все элементы списка, хотя возвращает только один из них. |
Switch( выражение1, значение1 [, выражение2, значение2 … [, выражениеN, значениеN]]) |
Список аргументов функции содержит пары выражений и значений. Выражения вычисляются в том порядке, в котором они включены в список (слева направо). Возвращается значение, соответствующее первому истинному выражению в списке. Функция вычисляет все выражения, хотя возвращает только одно значение. |