Beyond the simple string or numeric classifications, Variant can make added distinctions regarding the specific nature of numeric information. For instance, you can have numeric information which represents a date or a time. While used with other date or time data, the result is expressed as a time or date. You can also contain a rich variety of numeric information ranging from Boolean values to enormous floating-point numbers. These distinct categories of information which can be contained in a Variant are called subtypes. Mostly time, you can just put the type of data you desire in a Variant, & the Variant acts in a way that is most suitable for the data it contains.
The following table illustrates the subtypes of data that a Variant can contain.
Subtype
|
Description
|
EmptyVariant
|
Uninitialized. Value is 0 for numeric variables or a zero-length string
("") for string variables.
|
NullVariant
|
Intentionally have no valid data.
|
Boolean
|
Contains either True or False.
|
Byte
|
Contains integer in range 0 to 255.
|
Integer
|
Contains integer in range -32,768 to 32,767.
|
Currency
|
-922,337,203,685,477.5808 to 922,337,203,685,477.5807.
|
Long
|
Have integer in range -2,147,483,648 to 2,147,483,647.
|
Single
|
Have a single-precision, floating-point number in the range -
3.402823E38 to -1.401298E-45 for -ve values; 1.401298E-45 to
3.402823E38 for positive values.
|
Double
|
Have a double-precision, floating-point number in the range -
1.79769313486232E308 to -4.94065645841247E-324 for -ve values; 4.94065645841247E-324 to 1.79769313486232E308 for positive values.
|
Date
|
Have a number that represents a date between January 1, 100 to
December 31, 9999.
|
Time
|
Represents a time among 0:00:00 and 23:59:59
|
String
|
Have a variable-length string which can be up to approximately 2 billion characters in length.
|
Object
|
Have an object.
|
Error
|
Have an error number.
|
You can employ conversion functions to changed data from one subtype to another. Additionally, the VarType function returns information regarding how your data is stored within a Variant.