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

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

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

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

Типы данных

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

  • Boolean — логический тип данных. Занимает 2 байта. Может содержать только значения True (истина) или False (ложь):
Dim isOk As Boolean
isOk = True
  • Byte — целые числа от 0 до 255. Занимает 1 байт. Пример:
Dim n As Byte
n = 25
  • Integer — целые числа от -32 768 до 32 767. Занимает 2 байта. Пример:
Dim x As Integer
x = 327
  • Long — длинные целые числа. Диапазон значений от -2 147 483 648 до 2 147 483 647. Занимает 4 байта. Пример:
Dim x As Long
x = -2147483
  • Single — вещественное число. Занимает 4 байта. Пример:
Dim x As Single, y As Single
x = -2.147483
y = 1.5E+32
  • Double — вещественное число двойной точности. Занимает 8 байт. Пример:
Dim x As Double, y As Double
x = -321.547
y = 5.9985E-23
  • Currency — числа с фиксированной точкой (четыре цифры после точки). Тип используется для хранения денежных величин. Занимает 8 байт. Пример:
Dim p As Currency
p = 2657.8795
  • Decimal — десятичное масштабируемое число. Может содержать значения в диапазоне +/-79 228 162 514 264 337 593 543 950 335 или +/-7.9228162514264337593543950335. Минимальное ненулевое значение равно +/-0.0000000000000000000000000001. Обратите внимание на то, что объявить переменную данного типа явным образом нельзя. Тип Decimal является подтипом типа Variant и создается с помощью функции CDec(). Пример:
Dim p As Variant
p = CDec(12.4546565)
Debug.Print TypeName(p) ' Выведет: Decimal
  • Date — используется для хранения даты и времени. Пример:
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
  • String — строки. Строки могут быть фиксированной длины и произвольной длины. При объявлении строки фиксированной длины после названия типа указывается символ *, а затем размер:
Dim s As String * 5 ' Строка длиной 5 символов
s = "Слово"

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

Dim s As String     ' Строка произвольной длины
s = "Строка"
  • Object — ссылка на объект. Занимает 4 байта. Вместо указания этого типа следует использовать названия конкретных классов. В этом случае компилятор сможет заранее получить информацию о свойствах объекта. Если указан тип Object, то информация будет доступна только в процессе выполнения программы. Чтобы присвоить значение переменной необходимо перед именем переменной дополнительно указать оператор Set. Пример сохранения ссылки на ячейку с адресом A1:
Dim obj As Range
Set obj = Range("A1")
  • Variant — может хранить данные любых типов, кроме пользовательских. Если переменная не объявлена в программе с помощью оператора Dim или тип не указан явно, то переменная по умолчанию будет иметь тип Variant. Пример:
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
Примечание

Visual Basic for Applications (VBA)
Самоучитель по VBA

Помощь сайту

Yandex-деньги: 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов

Поиск по сайту в Яндексе