Тип данных Variant

Тип данных Variant является типом данных для всех переменных, для которых в явной форме не объявлен другой тип (с использованием таких операторов, как Dim, Private, Public или Static).

Типы данных Variant не имеют символа объявления типа .

Variant — это специальный тип данных, который может содержать любой вид данных, кроме данных с фиксированной длиной String. (Типы Variant теперь поддерживают пользовательские типы). Тип Variant также может содержать специальные значения Empty, Error, Nothing и Null. Вы можете определить, как данные типа Variant обрабатываются с использованием функции VarType или TypeName.

Используйте функцию VarType чтобы проверить, какой тип данных содержится в Variant.

Числовые данные могут быть любым целым или действительным числом из диапазона от -1,797693134862315E308 до -4,94066E-324 для отрицательных значений и от 4,94066E-324 до 1,797693134862315E308 для положительных значений.

Обычно числовые данные Variant хранятся в Variant в исходном виде. Например, если назначить Integer типу Variant, последующая операция обрабатывает тип Variant как Integer. Однако в том случае, когда с типом Variant, содержащим Byte, Integer, Long или Single, выполняется арифметическая операция и результат выходит за пределы обычного диапазона для исходного типа данных, этот результат повышается в рамках Variant до следующего по величине типа данных. Byte повышается до Integer, Integer повышается до Long, а Long и Single повышаются до Double.

Если переменные Variant, содержащие значения Currency, Decimal и Double, выходят за границы соответствующего диапазона, возникает ошибка.

Используйте тип данных Variant вместо любого другого типа данных, чтобы сделать работу с данными более гибкой. Если переменная Variant содержит цифры, в зависимости от контекста они могут быть как строковым представлением этих цифр, так и их фактическим значением. Пример:

Dim MyVar As Variant 
MyVar = 98052 

В предыдущем примере MyVar содержит числовое представление — фактическое значение 98052. Арифметические операторы работают ожидаемым образом для переменных Variant, содержащих числовые значения или строковые данные, которые можно интерпретировать как числа. Если вы используете оператор + для сложения MyVar с другой переменной Variant, содержащей число, или с переменной числового типа, результатом является арифметическая сумма.

Значение Empty указывает переменную Variant, которая еще не была инициализирована (ей не было назначено начальное значение). Переменная Variant со значением Empty равна 0 при использовании в числовом контексте и строке нулевой длины ("") при использовании в строковом контексте.

Не путайте значение Empty со значением Null. Null указывает, что переменная Variant намеренно не содержит действительных данных.

Error в Variant представляет собой специальное значение, используемое для указания на возникновение в процедуре состояния ошибки. Однако в отличие от других типов ошибок обычная обработка ошибки на уровне приложений не выполняется. Это позволяет как вам, так и приложению предпринять некоторые альтернативные действия на основании значения ошибки. Значения Error создаются посредством преобразования действительных чисел в значения ошибки с помощью функции CVErr.

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.