VBA VarType

В этой статье будет продемонстрировано использование функции VarType в VBA.

VarType означает тип переменной. Мы можем передать имя переменной функции VarType, и она вернет целое число, которое отображает тип данных, хранящихся в этой переменной, в соответствии со списком констант VBA.

Использование переменной Variant для поиска VarType

Мы можем объявить переменную как переменную Variant. Это позволит нам хранить в нем любые разрешенные данные. Затем мы можем заполнить эту переменную и использовать функцию VarType, чтобы узнать, какой тип данных находится в переменной.

Например:

12345 Sub TestVarType ()Dim MyVariable как вариантMyVariable = "Привет, мир"MsgBox "Тип переменной" & VarType (MyVariable)Конец подписки

Это вернет следующее окно сообщения:

Поэтому возвращается значение 8. Это в константе Excel, которая определяет тип данных, хранящихся в переменной.

Это постоянное значение соответствует таблице ниже:

Постоянный Ценить Описание
vbEmpty 0 Пустой (неинициализированный)
vbNull 1 Null (нет достоверных данных)
vbInteger 2 Целое число
vbLong 3 Длинное целое
vbSingle 4 Число одинарной точности с плавающей запятой
vbDouble 5 Число двойной точности с плавающей запятой
vbCurrency 6 Валютная стоимость
vbDate 7 Значение даты
vbString 8 Нить
vbObject 9 Объект
vbError 10 Значение ошибки
vbBoolean 11 Логическое значение
vbVariant 12 Вариант (используется только с массивами вариантов)
vbDataObject 13 Объект доступа к данным
vbDecimal 14 Десятичное значение
vbByte 17 Значение байта
vbLongLong 20 Целое число LongLong (действительно только на 64-битных платформах)
vbUserDefinedType 36 Варианты, содержащие определяемые пользователем типы
vbArray 8192 Массив (всегда добавляется к другой константе, когда возвращается этой функцией)

Мы можем попробовать другой пример:

12345 Sub TestVarType ()Dim MyVariable как вариантMyVariable = 32760MsgBox "Тип переменной" & VarType (MyVariable)Конец подписки

На этот раз окно сообщения вернет 2, поскольку тип данных, хранящихся в переменной, - Integer.

Однако, если мы изменим значение на 32780, то возвращаемое значение будет 3 - длинное целое число, поскольку тип данных Integer имеет максимальное значение 32767; после чего это длинное целое число.

Если бы мы еще раз исправили код:

12345 Sub TestVarType ()Dim MyVariable как вариантMyVariable = 32760,52MsgBox "Тип переменной" & VarType (MyVariable)Конец подписки

Теперь мы получим возвращаемое значение 5 - тип данных Double из-за десятичных знаков.

Если бы мы поместили значение переменной в кавычки, то снова будет возвращено 8, поскольку любое значение, содержащееся в кавычках, сохраняется как строковое значение.

12345 Sub TestVarType ()Dim MyVariable как вариантMyVariable = "32760.52"MsgBox "Тип переменной" & VarType (MyVariable)Конец подписки

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave