Прежде чем использовать переменные, их следует описать, то есть указать их типы. Для этого в VBA используется оператор описания переменных Dim, который описывает переменные и выделяет для них память, причем описывать нужно каждую переменную отдельно. Оператор описания переменных выглядит следующим образом:
Dim Имя переменной As Тип
Пример
Dim a As Integer
Dim d As Double
Знакиопераций
В VBA операция представляет собой либо специальный символ, либо ключевое слово в выражении, которое комбинирует два значения с целью получения нового результата.
VBA разделяет операции на три главные категории: арифметические, логические и операции сравнения.
Если выражение содержит знаки операций из двух или более категорий, то VBA выполняет операции из разных категорий в следующем порядке:
1) арифметические;
2) операции сравнения;
3) логические операции.
Чтобы изменить последовательность выполнения операций, в выражении используют скобки.
Внутри каждой категории операций тоже имеются правила порядка выполнения операций (табл. 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 осуществляется с помощью оператора вывода.