Прежде чем использовать переменные, их следует описать, то есть указать их типы. Для этого в VBA используется оператор описания переменных Dim, который описывает переменные и выделяет для них память, причем описывать нужно каждую переменную отдельно. Оператор описания переменных выглядит следующим образом:
Dim Имя переменной As Тип
Пример
Dim a As Integer
Dim d As Double
Знакиопераций
В VBA операция представляет собой либо специальный символ, либо ключевое слово в выражении, которое комбинирует два значения с целью получения нового результата.
VBA разделяет операции на три главные категории: арифметические, логические и операции сравнения.
Если выражение содержит знаки операций из двух или более категорий, то VBA выполняет операции из разных категорий в следующем порядке:
1) арифметические;
2) операции сравнения;
Чтобы изменить последовательность выполнения операций, в выражении используют скобки.
Внутри каждой категории операций тоже имеются правила порядка выполнения операций (табл. 3).
Таблица 3
Порядок выполнения операций в VBA
| Знаки операций | Операции |
| Арифметические | |
| ^ | Возведение в степень |
| - | Отрицание |
| * или / | Умножение или деление |
| \ | Целочисленное деление |
| Mod | Вычисление остатка от деления |
| + или - | Сложение или вычитание |
| Сравнение | |
| = | Равенство |
| <> | Неравенство (не равно) |
| < | Меньше |
| > | Больше |
| <= | Меньше или равно |
| >= | Больше или равно |
| Логические | |
| Not | Логическое НЕТ |
| And | Логическое И |
| Or | Логическое ИЛИ |
В VBA, как и в других приложениях MicrosoftOffice, есть встроенные математические функции. Эти функции можно использовать в арифметических выражениях для вычисления, например, целой части числа, модуля числа, синуса числа и др. Основные математические функции, используемые в VBA, приведены в табл. 4.
Таблица 4
Математические функции VBA
| Функция | Значение |
| Abs(число) | Абсолютное значение числа (модуль) |
| Atn(число) | Арктангенс числа |
| Cos(число) | Косинус числа |
| Exp(число) | Число e в степени, равной заданному числу (eх) |
| Int(число) | Целая часть числа. возвращает ближайшее меньшее целое |
| Log(число) | Натуральный логарифм числа |
| Rnd | Случайное число, значение одинарной точности |
| Sin(число) | Синус числа |
| Sqr(число) | Квадратный корень из числа |
| Tan(число) | Тангенс числа |
Оператор присваивания
Оператор присваивания приписывает переменным или свойствам объектов конкретные значения. Такой оператор всегда состоит из трех частей: имени переменной или свойства, знака равенства и выражения, задающего нужное значение.
Имя переменной = Выражение
Пример
A = 2
C = A
SUMMA = A + C
Вводданных
Для составления программ необходимо в память ЭВМ ввести данные. Вводить данные можно тремя способами.
1. При помощи оператора присваивания.
Пример
a = 2
b = 4.5
2. При помощи оператора считывания InputBox(“Сообщение”).
Данный оператор выводит на экран диалоговое окно, содержащее сообщение и поле ввода, устанавливает режим ожидания ввода текста пользователем или нажатия кнопки, а затем возвращает значение типа String, содержащее текст, введенный в поле.
Пример
A = InputBox (“Введите А”)
На экране появится диалоговое окно (рис. 2).
Если оператор оставить в таком виде, то переменной А присвоится значение символа “2”, а не числа 2.
![]() |
Рис. 2. Стандартное окно ввода
Для преобразования символа в число будем использовать функцию Val (Строка), которая возвращает число, содержащееся в строке, как числовое значение соответствующего типа.
Если мы запишем A = Val (InputBox (“Введите А”)) и в поле ввода введем число 2, то переменной А присвоится значение числа 2.
3. Считывание данных с листа рабочей книги Excel.
Пример
А = Сells(1, 1)
После выполнения этого оператора переменной А присвоится значение, которое хранится в ячейке, находящейся в первой строке (первая цифра) и в первом столбце А (вторая цифра), т.е. в ячейке А1 электронной таблицы. Таким образом, при обозначении адреса ячейки на первом месте указывается номер строки, а на втором – номер столбца ячейки.
Оператор вывода
Вывод информации в VBA осуществляется с помощью оператора вывода.
