
- •Диаграммы и графики
- •Создание диаграммы
- •Типы диаграмм
- •Исходные данные
- •Параметры диаграммы
- •Элементы диаграмм
- •Редактирование диаграммы
- •Интерактивная диаграмма
- •Прогнозирование с использованием линий тренда
- •Автоматизация работы в Excel при помощи макросов
- •Visual Basic for Application
- •Концепция VBA
- •Работа с объектами
- •Объекты Excel.
- •Формы и элементы управления.
- •Интерфейс среды Visual Basic for Application
- •Запуск и отладка программ на VBA
- •Язык Бейсик
- •Отличия Бейсика от Паскаля
- •Идентификаторы, переменные, массивы
- •Операции, выражения, операторы
- •Операторы ветвлений
- •Конструкция If . . . Then
- •Конструкция If . . . Then . . . Else
- •Циклы
- •Конструкция For . . . Next.
- •Конструкция Do...Loop
- •Примеры расчетов на VBA
- •Нахождение минимального элемента массива.
- •Задание к лабораторной работе
- •Контрольные вопросы
- •Литература

3.2 Интерфейс среды Visual Basic for Application
Чтобы войти в редактор VBA необходимо нажать ALT+F11 либо зайти в меню Сервис\Макрос\Редактор Visual Basic.
Ознакомимся со средой VBA на примере простейшей программы. Эта программа делает следующее: При открытии книги либо при запуске макроса DEMOVBA появляется форма, содержащая текстовое поле и 2 кнопки: ДА и НЕТ. При нажатии кнопки ДА форма закрывается, а строка из текстового поля переписывается в ячейку A1 активного листа. При нажатии кнопки НЕТ форма закрывается. Никаких изменений на листе не происходит.
3
1
2
6
8
4
7
5
Рисунок 17
На Рисунок 17 представлены основные элементы среды VBA:
1.Панель инструментов
2.Окно проекта
3.Окно кода модуля
4.Окно кода книги
5.Окно кода формы.
6.Форма
7.Панель элементов управления
8.Окно свойств
Рассмотрим эти элементы подробнее:
1.Панель инструментов. На панели инструментов присутствуют пиктограммы наиболее используемых команд, таких как
•переход в Excel
•сохранение
•запуск программы
•приостановка программы
•завершение программы
2.Окно проекта. В данном окне содержатся 3 папки:
Microsoft Excel Objects – содержит основные объекты: Книга и Используемые листы книги.
Forms – содержит формы. Modules – содержит модули.
Вмодулях хранятся процедуры (SUB) и функции. Все макросы хранятся именно в модулях.
Любая процедура, хранимая в модуле, может быть вызвана также, как и обычный макрос.
Чтобы просмотреть объект, нужно щелкнуть правой кнопкой мыши и в контекстном меню выбрать “VIEW OBJECT”.
Чтобы просмотреть и/или изменить код какого-то объекта достаточно щелкнуть по соответствующему объекту в данном окне.
Примеры окон кода модуля, а также коды обработчиков событий книги и формы представлены под номерами соответственно 3, 4,5.
Вкаждом из окон сверху расположены 2 выпадающих списка. В левом вы можете выбрать объект, для которого собираетесь писать метод. Например, в окне кода формы можно выбрать объекты CommandButton1 (кнопка 1), CommandButton2 (кнопка 2), Label1 (метка 1), TextBox1 (текстовое поле 1). В правом событие, обработчик которого вы собираетесь писать: Click (щелчок мышью), DblClick (двойной щелчок мышью), MouseMove (перемещение мыши) и т.д. В основных окнах хранятся коды процедур. (Т.к. VBA – объектно-ориентированный язык, любой код хранится в процедуре или функции). Любая процедура на VBA начинается
Sub <название процедуры>() и заканчивается End Sub.
6. Форма. При активизации формы, автоматически появляется панель, содержащая элементы управления (7), которые можно размещать на форме.
Изменять значения свойств формы и элементов управления можно в этом окне свойств (8).
Воссоздадим этот пример.
1.Сформируем форму. Для этого надо зайти в меню Insert\Userform – При этом появится форма и панель с элементами управления. Добавим 2 кнопки, метку и текстовое поле. Изменим заголовки (свойство Caption) объектов так, чтоб форма выглядела, как на Рисунок 17.
2.Напишем обработчики событий элементов управления. Для этого щелкнем по кнопке ДА и в появившемся окне запишем 2 строки:
UserForm1.Hide ‘ Убрать форму
ActiveSheet.Range("A1") = UserForm1.TextBox1 |
‘ Переписать значение |
‘ текстового поля в ячейку A1 |
|
По аналогии напишем обработчик щелчка для кнопки НЕТ:
UserForm1.Hide.
В результате код формы должен соответствовать изображенному на Рисунок 17
(5).
3.Напишем код для запуска формы. В нашем примере форма должна появляться в 2 случаях: при открытии книги и при запуске макроса DemoVBA. Для первого случая откроем окно с кодом для книги, щелкнув в окне проекта по объекту ЭтаКнига. В появившемся окне в выпадающих списках выберем соответственно объект WorkBook и событие Open. После чего допишем строчку :
UserForm1.Show ‘ Показать форму
Результат должен соответствовать коду в окне (4) на Рисунок 17 Для второго случая откроем окно модуля из папки модулей. Если в папке
модули отсутствуют, добавим, выбрав в меню Insert\Module. В окне кода добавим процедуру, как в окне (3) на Рисунок 17:
Sub DemoVBA()
UserForm1.Show
End Sub
В данном случае нам придется кроме строки UserForm1.Show (показать форму) также добавить строки Sub DemoVBA() (начало процедуры DemoVBA) и End Sub (завершение процедуры). Т.о. будет создан макрос DemoVBA.
3.3 Запуск и отладка программ на VBA
Запустить программу можно 3 способами:
1.Открыть книгу заново (разумеется, предварительно сохранив)
2.Запустить макрос DemoVBA из меню Excel Сервис\Макрос\Макросы
3.Нажав в среде VBA F5 либо выбрав в меню Run соответствующий пункт.
Кроме того можно запустить программу в одном из режимов отладки (меню DEBUG). Отладка играет очень большую роль при написании программ. Один из наиболее распространенных вариантов отладки – пошаговое выполнение программы. Для запуска программы в этом режиме нажмите F8. При этом будет выполнена не вся программа, а только первая строка. Исполняемая строка выделяется желтым цветом. Для выполнения следующей строки нажмите F8 еще