Переменные и типы данных

Переменные — это участки памяти, используемые программой для хранения данных. Каждая переменная должна иметь уникальное имя, состоящее из букв, цифр и знаков подчеркивания, причем имя переменной обязательно должно начинаться с буквы. Максимальная длина имени переменной ограничена 255 символами. Регистр букв не учитывается: x и X — одна и та же переменная. В качестве имени переменной нельзя использовать ключевые слова языка VBA. Запоминать все ключевые слова нет необходимости, так как в редакторе эти слова подсвечиваются. Любая попытка использования ключевого слова вместо названия переменной приведет к ошибке при компиляции.

Правильные имена переменных: x, strName, y1, ИмяПеременной.

Неправильные имена переменных: _x, 1y.

Типы данных

Прежде чем использовать переменную необходимо указать какие данные в ней будут храниться. На основании информации о типе данных компилятор выделяет объем памяти, необходимый для хранения данных. В VBA переменные могут содержать данные следующих типов:

Dim isOk As Boolean
isOk = True
Dim n As Byte
n = 25
Dim x As Integer
x = 327
Dim x As Long
x = -2147483
Dim x As Single, y As Single
x = -2.147483
y = 1.5E+32
Dim x As Double, y As Double
x = -321.547
y = 5.9985E-23
Dim p As Currency
p = 2657.8795
Dim p As Variant
p = CDec(12.4546565)
Debug.Print TypeName(p) ' Выведет: Decimal
Dim d As Date, dt As Date
d = #8/20/2012#
Debug.Print d  ' Выведет: 20.08.2012
dt = #8/29/2012 10:48:12 AM#
Debug.Print dt ' Выведет: 29.08.2012 10:48:12
Dim s As String * 5 ' Строка длиной 5 символов
s = "Слово"

Чтобы объявить строку произвольной длины достаточно указать только тип:

Dim s As String     ' Строка произвольной длины
s = "Строка"
Dim obj As Range
Set obj = Range("A1")
Dim var As Variant
var = 12
Debug.Print TypeName(var) ' Выведет: Integer
var = 58.6
Debug.Print TypeName(var) ' Выведет: Double
var = "Строка"
Debug.Print TypeName(var) ' Выведет: String
var = #8/23/2012#
Debug.Print TypeName(var) ' Выведет: Date

Переменной типа Variant можно присвоить специальное значение Null, которое означает отсутствие значения. Результатом любой операции, в которой участвует переменная со значением Null, будет значение Null. Пример:

Dim var As Variant
var = Null

Примечание

В 64-битной версии Microsoft Office дополнительно существует тип LongLong. За подробной информацией по этому типу обращайтесь к документации.

Предыдущая статья Все статьи Следующая статья