Такие имена переменных допустимы: x, y, z, a1, a2, a3, summa, myTopRange, my_Currency
Заглавные буквы в именах могут присутствовать, но VBA Excel не чувствителен к регистру.
В качестве имен переменных можно использовать буквы и числа, но первой в имени переменной всегда должна быть буква. Не приветствуется использование пробела, точки, запятой и иных знаков препинания. А вот нижнее подчеркивание можно.
У шести типов данных можно использовать при объявлении переменных определенные символы, добавляя их в конце имени как суффиксы. Естественно при этом между именем переменной и знаком типа не должно быть пробелов. Тогда переменная будет объявлена с соответствующим символу типом данных.
Символы, назначенные типам данных:
% – Integer;
& – Long;
! – Single;
# – Double;
@ – Currency;
$ – String.
Примеры:
Dim L%
Dim M&
Dim N^
Const W@ = 36.6
Dim Q!
Dim X#
Dim V$ = "Leeds"
Помимо суффиксов используются и префиксы. Перед основным названием переменной ставится префикс, указывающий на тип данных, который предполагается хранить в данной переменной.
Префикс | Тип хранимых данных |
b | Boolean |
bt | Byte |
i | Integer |
l | Long |
s | Single |
d | Double |
c | Currency |
dt | Date |
str | String |
obj | Object |
v | Variant |
В VBA есть такие операторы как Def, при помощи которых можно указать тип данных по умолчанию для переменных, первая буква имени которых попадает в заданный в операторе диапазон.
DefBool B
Sub Test1()
Dim bChecks
End Sub
Переменной bChecks будет присвоен тип Boolean, т.к. она начинается с буквы b.
DefBool Задает тип Boolean
DefByte Задает тип Byte
DefInt Задает тип Integer
DefLng Задает тип Long
DefLngLng Задает тип LongLong (действует только на 64-разрядных платформах)
DefLngPtr Задает тип LongPtr
DefCur Задает тип Currency
DefSng Задает тип Одинарное с плавающей точкой
DefDbl Задает тип Double
DefDec Задает тип Decimal (в настоящее время не поддерживается)
DefDate Задает тип Date
DefStr Задает тип String
DefObj Задает тип Object
По умолчанию в VBA применена инструкция DefVar для всех букв (иначе говоря для всех переменных, которым не назначен тип данных явно через оператор As).