- •Программирование на языке vba Учебное пособие
- •Глава 1. Программы и их реализация. Введение в vba
- •Подготовка задач к решению на эвм
- •А а Блок ввода – вывода
- •1.3. Языки программирования и их реализация
- •1.4. Основы возникновения и использования языка vba
- •Глава 2. Основные принципы работы с vba
- •2.1. Алфавит vba
- •Разработка пользовательской формы и элементов управления
- •Процедуры Sub
- •2.1.1. Данные
- •Константы
- •2.1.2. Знаки операций
- •2.2. Основные операторы языка
- •2.2.1. Оператор описания переменных
- •2.2.2. Оператор присваивания
- •2.2.3. Операторы ввода данных
- •InputBox(“Сообщение”).
- •2.2.4. Операторы вывода данных
- •MsgBox (Список аргументов)
- •2.3. Линейные процессы
- •Программный код
- •2.4.1. Оператор условного перехода
- •If Условие Then Оператор 1 Else Оператор 2
- •2.4.2. Оператор выбора Select Case
- •2.5. Циклические процессы
- •2.5.1. Оператор цикла с параметром For – Next
- •2.5.2. Оператор цикла While – Wend
- •2.5.3. Оператор цикла Do – Loop
- •2.6. Работа с массивами
- •2.6.1. Вычисления в одномерных массивах
- •Пример: a(I), b(j).
- •Объявление массива
- •Ввод массива
- •Вывод массива
- •Вычисление суммы, произведения и количества элементов в одномерном массиве
- •Вычисление минимального и максимального элементов в одномерных массивах
- •Сортировка элементов одномерного массива методом “пузырька”
- •Удаление одного элемента из одномерного массива
- •Удаление из массива группы элементов
- •Вставка одного элемента в массив
- •Вставка группы элементов в массив
- •2.6.2. Вычисления в двумерных массивах
- •Ввод двумерного массива
- •Вывод двумерного массива
- •Формирование матрицы
- •Вычисление суммы, произведения, количества, минимума и максимума в двумерных массивах
- •Построчное вычисление в матрице
- •2.7. Пользовательский тип данных и формы пользователя
- •2.7.1. Пользовательский тип данных
- •Значение Оператор присоединения
- •2.7.2. Формы пользователя
- •Список использованной литературы
- •Оглавление
- •Глава 1. Программы и их реализация. Введение в vba. ………...3
- •Глава 2. Основные принципы работы с vba…………………...…16
Глава 2. Основные принципы работы с vba
2.1. Алфавит vba
Visual Basic for Application (VBA) для приложения Excel – это сочетание одного из самых простых языков программирования и всех вычислительных возможностей табличного процессора Excel. VBA содержит графическую среду, позволяющую наглядно конструировать экранные формы и управляющие элементы.
В результате своей эволюции Visual Basic превратился в (почти) объектно-ориентированный язык программирования.
Объекты – это естественные детали VBA-ландшафта. Посредством объектов вы получаете доступ к функциональным возможностям VBA-приложения.
С практической точки зрения объект – это просто именованный элемент, имеющий:
свойства, то есть установки, которые вы можете проверить или изменить;
методы, то есть действия, которые объект может выполнить, если программа попросит об этом;
события, то есть возможные для объекта ситуации, на которые он может ответить заранее предопределенными действиями.
Прежде чем программировать на VBA, следует запустить табличный процессор Excel. Редактор Visual Basic является командным центром для работы в VBA. Вызов редактора Visual Basic осуществляется при помощи команды Сервис – Макрос – Редактор Visual Basic главного меню Excel.
Для написания программы необходимо создать модуль VBA и открыть окно его программного кода при помощи команды Вставка – Модуль.
В результате этих действий на экране появится окно редактора Visual Basic (рис. 5).
В окне программного кода печатается составленная программа, а затем запускается при помощи кнопки Запуск макроса или команды меню Запуск – Запуск программы. Также выполнить программу можно, нажав клавишу F5.
Запуск
макроса
Рис. 5. Окно редактора Visual Basic
Разработка пользовательской формы и элементов управления
Для написания программы в окне редактора необходимо создать модуль VBA(рис.6) при помощи командыInsert (Вставка) → Module (Модуль), для разработки формы с панелью элементов ToolBox(см. рис. 6) используется командаInsert → UserForm (Пользовательская форма).
При создании Пользовательской формыдля управления ходом исполнения программы могут понадобиться кнопки (например, Расчет и Выход) и окно вывода результатов вычислений.
Для создания кнопки выбирают соответствующий элемент управления кнопка с надписью по умолчанию Command. Надписи на кнопках можно изменять после двойного щелчка ПКМ на надписи кнопки, или изменяяСвойства (Properties) → Caption (рис. 7).
В окне программного кода записывается программа, а затем запускается кнопкой Запуск макроса (илиЗапуск – Запуск программы, или F5).
Рис. 6. Создание модуля и формы с панелью элементов
На форме можно создавать элементы управления программой и выводом результатов На рис. 7 показаны кнопка CommandButtonи текстовое полеListBox.
Рис. 7. Разрабатываемая форма
При составлении программ приходится сталкиваться с такими понятиями, как оператор, процедура, модуль.
Для написания программного кода, состоящего из операторов языка, необходимо создать процедуру.
Оператор – это наименьшая, способная выполняться единица VBA-кода. Оператор может объявлять или определять переменную, устанавливать параметр компилятора VBA или выполнять какое-либо действие в программе. У допустимого оператора много сходства с законченным предложением – оператор должен содержать правильный набор “частей речи”.
Процедура – это наименьшая единица программного кода, на которую можно ссылаться по имени. Это также наименьшая единица программного кода, которая может выполняться независимо. VBA распознает два главных типа процедур: Sub и Function. Любая процедура содержит один или более операторов, помещенных между двумя специальными операторами: объявлением процедуры в начале и оператором завершения процедуры в конце (End Sub или End Function).
Модуль – это именованная единица, состоящая из одной или нескольких процедур, а также объявлений, относящихся ко всем процедурам в модуле.
В VBA имеется два типа модулей. Чаще всего используется стандартный модуль, который содержит программный код, предназначенный непосредственно для выполнения. Другим типом модуля является модуль класса, в котором определяются пользовательские объекты с их свойствами и методами.
Для создания процедуры или функции (рис. 8, а, б) можно выбрать пункт менюInsert (Вставка) → Procedure (Процедура) или выполнить двойной щелчок ПКМ на форме или элементе формы (кнопке, текстовом поле и т.п.).
a б
Рис. 8. Способы создания процедур