- •7 Хпи. Экмм. Курс «сппр». Лабораторные работы. Справочник по vba Краткий справочник по vba Работа в редакторе vba
- •Работа с элементами управления на рабочих листах Excel
- •Синтаксис языка vba
- •Описание процедуры
- •Типы данных
- •Описание переменных
- •Массивы
- •Динамические массивы
- •Оператор выбора
- •Встроенные диалоговые окна
- •Примеры
7 Хпи. Экмм. Курс «сппр». Лабораторные работы. Справочник по vba Краткий справочник по vba Работа в редакторе vba
Редактор VBA вызывается из меню: Сервис\Макрос\Редактор Visual Basic (или сочетаниие клавиш Alt-F11). Возвратиться из редактора VBA в рабочую книгу можно нажатием кнопки Вид Microsoft Excel (View Microsoft Excel), или тем же сочетанием клавиш (Alt-F11).
Работа с элементами управления на рабочих листах Excel
На рабочем листе для добавления элементов управления необходимо отобразить панель инструментов «Элементы управления»:
.
Для работы с элементами управления в период их конструирования в Excel используется режим конструктора, который активизируется нажатием соответствующей кнопки. В этом режиме отключена реакция элемента управления на события. Поэтому при включенном режиме конструктора можно видоизменять элемент управления и задавать его свойства. Двойное нажатие на элементе управления в этом режиме вызывает окно редактора VBA.
После создания элемента управления повторное нажатие кнопки режима конструктора выключает этот режим.
Синтаксис языка vba
Основные отличия синтаксиса языка VBA от синтаксиса языка Паскаль:
- точка с запятой ";" не ставится
- оператором присвоения является символ равно =
- комментарии отделяются верхней одинарной кавычкой ' или зарезервированным словом Rem
- ссылка на ячейку в программе (например, А3):
Worksheets("имя листа").Cells(3,1).Value
или так:
Worksheets("имя листа").Range("А3").Value
А для текущего листа просто:
Cells(3,12).Value
или так:
Range("А3").Value
- цикл завершается специальным словом Next
Описание процедуры
[Public l Private] Sub ИмяПроцедуры (СписокФормальныхПараметров)
ОператорыТелаПроцедуры
End Sub
Типы данных
В VBA имеется много различных типов данных.
В таблице представлены типы, которые наиболее часто используются:
Тип |
Описание |
Integer Single Double String Date Variant |
Целое число Число с плавающей точкой одинарной точности Число с плавающей точкой двойной точности Текстовая строка Дата и время Любое значение из перечисленных выше |
Значение текстового поля на форме имеет строковый тип. Поскольку текстовые поля используются для ввода данных (в частности и числовых), которые в дальнейшем могут участвовать в ходе выполнения программы в различных вычислениях, то во избежание ошибок вычислений необходимо введенные данные преобразовывать к числовому типу. Для этого в VB имеется ряд функций, представленных в таблице. (где х – выражение).
Функции преобразования типов
Функция |
Тип результата |
CInt (x) |
Integer |
CBool (x) |
Boolean |
CByte (x) |
Byte |
CCur (x) |
Currency |
CDate (x) |
Date |
CDbl (x) |
Double |
CLng (x) |
Long |
CSng (x) |
Single |
CVar (x) |
Variant |
CStr (x) |
String |
Описание переменных
Инструкция Dim предназначена для описания типа данных переменной на уровне модуля или процедуры. Например, следующая инструкция описывает переменную с типом integer:
Dim N As Integer
Инструкция Dim предназначена также для описания объектного типа переменных. Далее приводится описание переменной для нового экземпляра рабочего листа:
Dim X As New Worksheet
Если тип данных или тип объекта не задан, то по умолчанию переменная получает тип variant. Для обязательного описания всех переменных надо поместить в начале модуля инструкцию Option Explicit. Использование этой инструкции полезно при отладке программ, т. к. она позволяет легче отслеживать возможную путаницу в именах при наборе программы.
Каждая переменная должна описываться отдельно! Ниже только вторая переменная определена как целого типа, первая имеет тип данных variant:
Dim M, N As Integer
Если необходимо описать переменную, доступную в различных подпрограммах, то она описывается специальной директивой Public вне локальных подпрограмм.