Все переменные в VBA имеют тип. Тип указывает, что может хранить переменная: целое число, строку, дату и т.д. Базовые типы переменных приведены в таблице
Типы данных | Занимаемый размер памяти (байт) | Диапазон |
Boolean (Логический) | True (Истина) или False (Ложь) | |
Integer (Целое) | От –32768 до +32768 | |
Long (Длинное целое) | От -2 147 483 до +2 147 483 647 | |
Single (Число с плавающей точкой) | По абсолютной величине от до | |
Data (Дата) | От 1 января 100г. до 31 декабря 9999г. | |
Array (Массив) | Зависит от размера массива и типа элементов массива | |
Double (Число с плавающей точкой двойной точности) | По абсолютной величине от до | |
Object (Объект) | Любой определенный обьект | |
String (Строка переменной длины) | 10+длина строки | От 0 до |
Currency (Денежный) | От -9220337020306850477,5808 до 9220337020306850477,5808 | |
Variant (Вариант) | Зависит от содержимого переменной |
Если не указан тип переменной, то по умолчанию используется тип Variant. Переменные этого типа могут хранить все, что в них поместят, т.е. их тип изменяется в зависимости от последнего присвоения. Однако указание конкретного типа позволяет делать функции более быстрыми и надежными.
Переменную в VBA можно описать с помощью следующей конструкции:
Dim ИМЯ_ПЕРЕМЕННОЙ As ТИП ПЕРЕМЕННОЙ
Пример
Dim А As Integer (переменная А - целое число)
Dim C, D As Integer, E As Single (переменные C, D - целые числа; переменная E - число с плавающей точкой или действительное число)
Dim В(3,3) As Single (двухмерный массив 3х3 (матрица), состоящий из действительных чисел)
При описании типов переменных, являющихся параметрами функций, Dim опускается.
Пример
Function Y (x As Double) As Double
Если библиотечная функция Excel не является встроенной функцией VBA, то обязательно указывается, что она принадлежит объекту Application (приложение). Тем самым мы указываем, что используем не функцию VBA, а функцию Excel.
Пример
Application.Pi() (функция Excel ПИ() )
Application.Ln(x) (функция Excel Ln(x) )
Знак «=» является оператором присваивания, который предписывает выполнить выражение, заданное в его правой части, и присвоить результат переменной, расположенный в левой части. Например, в результате действия следующей пары операторов
Х=2
Х=Х+2
переменной Х будет присвоено значение 4.
Десятичная дробь записывается через «точку».