- •Типы данных
- •Dim ИмяПеременной As ТипДанных
- •Dim Имя_массива(список_размерностей) As Имя_типа
- •3.1. Правила записи операторов
- •3.2. Оператор присваивания
- •3.3. Операторы ввода-вывода
- •3.3.1. Оператор и функция MsgBox
- •3.3.2. Функция InputBox
- •Создание макроса
- •Интерфейс пользователя vba
- •Основные команды главного меню vb
- •Создание модуля
- •Создание форм
- •Лабораторная работа №1 Задание 1
- •Варианты заданий
- •Задание 2
- •Задание 3
- •Задание 4
- •VbInformation, "о программе"
Создание модуля
При создании проекта автоматически создается модуль для каждого рабочего листа и для всей книги. Кроме того модули создаются для каждой пользовательской формы, класса, макроса. Различают стандартные модули и модули объектов. Стандартные модули содержат макросы и добавляются в проект командой меню Вставка-Модуль (Insert/Module). К модулям объектов относят модули рабочих книг, листов, форм и классов.
Основная работа по написанию и отладке макросов и специализированных функций пользователя происходит в окне редактирования текстов программ (Code). Оно появляется после добавления модуля пользователя. В этом окне доступны 2 режима: просмотр кода процедуры или всего модуля. Переключение режимов производится выбором одной из 2-х кнопок в нижнем левом углу окна редактирования кода.
В верхней части окна кода помещены два раскрывающихся списка: 1 (General) – позволяет выбрать управляющий элемент или форму, 2 (Declarations) – позволяет выбрать событие, допустимое для выбранного в 1-ом списке объекта. Окно редактирования кода позволяет автоматически завершить написание кода операторов, свойств и параметров, предлагая список компонентов. Для автоматического отображения списка компонентов, сведений о процедурах, функциях, свойствах, методах, а также для проверки синтаксиса нужно установить флажки Список компонентов, Краткие сведения, Проверка синтаксиса в диалоговом окне Параметры (вкладка Редактор).
Редактор кода позволяет получить информацию о ключевом слове, процедуре, функции, свойстве или методе. Для этого достаточно установить курсор на нужное ключевое слово и нажать клавишу F1.
Код программы, написанной пользователем на VBA, хранится в модулях. Модуль - это совокупность объявлений и процедур, хранящихся как единое целое.
Если в программе возникает необходимость частого обращения к некоторой группе операторов, то рационально сгруппировать такую группу в самостоятельный блок, к которому можно обращаться, указывая его имя. Такие программные блоки называются подпрограммами пользователя. Подпрограммы в языках программирования реализуются посредством процедур и функций.
Процедура – это независимая часть программы, которую можно вызвать по имени для выполнения определённых действий. Процедура выполняет один или несколько операторов и не возвращает значения.
Процедура начинается словом Sub, а заканчивается End Sub. Процедура выполняется в ответ на какое-либо событие или говорят, что процедура обрабатывает событие.
Примером процедуры является код макроса:
Sub МойПервыйМакрос_Click()
With Selection.Font
.Size = 18
.ColorIndex = 3
End With
End Sub
Имя процедуры состоит из названия объекта МойПервыйМакрос и события Click (щелчок), которое отделяется знаком подчёркивания от названия объекта.
Функция аналогична процедуре, но отличается тем, что возвращает в точку вызова основной программы единственный результат. Функции, как правило, работают с содержимым ячеек, а не с их видом. Значение, вычисленное функцией пользователя, можно использовать в формулах так же, как и значения обычных функций Excel.
Например, Y= ABS(X); - функция определяет модуль числа X и возвращает результат в точку вызова Y.
VBA можно использовать для создания собственных функций. Функция начинается словом Function, а заканчивается End Function. Например, можно определить функцию Процент (число), которая будет определять процент от числа.
Public Function Процент (число)
Процент = число*0.01/100
End Function
Функция может иметь аргумент, например, аргумент Число - может быть числом или ссылкой на ячейку рабочего листа. В приведенном примере величина процента является тем значением, которое возвращает функция.
Правила написания имён процедур и функций:
- Первые три символа имени должны быть буквами
- Имя может содержать только буквы, цифры и знаки подчёркивания
- Имя не должно иметь более 255 символов
Для добавления в модуль процедуры необходимо находясь в среде VBA выполнить команду Insert(Вcтавить)/Module(Модуль) и затем воспользоваться командой Insert(Вcтавить)/ Procedure(Процедуру). В появившемся окне необходимо выбрать функцию или подпрограмму и задать ее имя. После этого будут автоматически сформированы операторы начала и конца процедуры и можно переходить непосредственно к набору операторов процедуры. Для набора следующей процедуры в том же модуле необходимо повторить команду Insert/Procedure. Если нужно создать новый модуль повторяется команда Insert/Module.
Запись команд, составляющих макросы и функции, выполняется в окне Code с помощью редактора программ. Редактор программ VBA – это обычный текстовый редактор, обладающий стандартным набором возможностей типичного текстового редактора (например, WordPad). Однако он дополнен рядом специализированных функций. Например, его можно настроить таким образом, чтобы при написании пользователем части служебного слова он мог самостоятельно дополнять это слово. Это, с одной стороны, ускоряет ввод текста команд, а с другой — уменьшает вероятность ошибок. Служебные слова можно писать буквами одного размера - например, строчными. При переходе на другую строку, если в команде не было допущено ошибок, все служебные слова, имена встроенных функций, объектов и их свойств автоматически записываются правильно. Например, если написать "activesheet", то при переходе на другую строку это слово будет преобразовано в "ActiveSheet". Такая возможность обеспечивает дополнительный контроль правильности написания служебных слов. Проверка правописания осуществляется командой Debug(Отладка)/Compile VBAProject(компилировать).