Типы данных относятся к самым фундаментальным понятиям любого языка программирования. Тип данных определяет множество допустимых значений, которое может принимать указанная переменная.
В VBA имеются следующие основные типы данных:
Тип данных
Размер (байт)
Диапазон значений
Byte (байт)
От 0 до 255
Boolean (логический)
True или False
Integer (целое число)
От -32 768 до 32 767
Long (длинное целое число)
От -2 147 483 648 до 2 147 483 647
Single (число с плавающей запятой обычной точности)
От -3.402823Е38 до -1 .401298Е-45 для отрицательных значений
Double (число с плавающей запятой двойной точности)
От -1,79769313486232Е308 до
-4,94065645841247Е-324 для отрицательных значений;
от 4,94065645841247Е-324 до 1,79769313486232Е308 для положительных значений
Decimal (масштабируемое целое число)
+/-79228162514264337593543950335 с 28 знаками спрва от запятой;
минимальное ненулевое значение имеет вид +/-0,0000000000000000000000000001
Date (даты и время)
От 1 января 100 г. до 31 декабря 9999г.
Object (объект)
Любой указатель объекта
String (строка переменной длины)
10 + длина
строки
От О до приблизительно 2 миллиардов
String (строка постоянной длины)
длина
строки
От 1 до приблизительно 65 400
Variant (числовые подтипы)
Любое числовое значение вплоть до границ диапазона для типа Double
Variant (строковые подтипы)
22+длина строки
От О до приблизительно 2 миллиардов
Тип данных, определяемый пользователем (с позмощью ключевого слова Туре)
Объём определяется элементами
Диапазон каждого элемента определяется его типом данных
Описание типа каждой переменной делает программу надежнее и, кроме того, убыстряет ее работу, т. к. VBA не требуется тратить время на распознавание типа неописанной переменной при каждом обращении к ней.
Синтаксис:
Dim [WithEvents] ИмяПеременной[([Индексы]]] [As [New] Тип] __
Ключевое слово, указывающее, что аргумент ИмяПеременной является именем объектной переменной, которая используется при отклике на события, генерируемые объектом ActiveX (т. е. объектом, который может быть открыт для других приложений и средств программирования).
ИмяПеременной
Имя переменной, удовлетворяющее стандартным правилам именования переменных
Индексы
Размерности переменной массива; допускается описание до 60 размерностей. Для задания аргумента Индексы используется следующий синтаксис:
[Нижний То] Верхний [, [Нижний То] Верхний] ...
Если нижний индекс не задан явно, нижняя граница массива определяется инструкцией option Base- Если отсутствует инструкция option Base, нижняя граница массива равняется нулю
New
Ключёвое слово, включающее возможность неявного создания объекта. Если указано ключевое слово New при описании объектной переменной, новый экземпляр объекта создается при первой ссылке на него, поэтому нет необходимости присваивать ссылку на объект с помощью инструкции Set
Тип
Тип данных переменной. Для каждой описываемой переменной следует использовать отдельное предложение Asтип
Племенные, описанные с помощью ключевого слова Dim на уровне модуля, доступны для всех процедур в данном модуле. Переменные, описанные на уровне процедуры, доступны только в данной процедуре.
Инструкция Dim предназначена для описания типа данных переменной на уровне модуля или процедуры. Например, следующая инструкция описывает переменную с типом Integer.
Dim N As Integer
Инструкция Dim предназначена также для описания объектного типа переменных. Далее приводится описание переменной для нового экземпляра рабочего листа.
Dim X Аs New Worksheet
Если при описании объектной переменной не используется ключевое слово New то для использования объекта, на который ссылается переменная, существующий объект должен быть присвоен переменной с помощью игструкции Set.
Если тип данных или тип объекта не задан, и в модуле отсутствует инструкция DefТип, по умолчанию переменная получает тип Variant. Для обязательного описания всех переменных надо поместить в начале модуля инструкцию Оption Explicit. Использование этой инструкции полезно при отладке программ, т. к. она позволяет легче отслеживать возможную путаницу в именах при наборе программы.