Variant
数据类型是未明确声明为某一其他类型(使用诸如
Dim
、
Private
、
Public
或
Static
的
语句
)的所有
变量
的
数据类型
。
Variant
数据类型没有
类型声明字符
。
Variant
是一个特殊数据类型,它包含除固定长度
String
数据以外的任何类型的数据。 (
Variant
类型现在支持
用户定义的类型
)。
Variant
还可以包含特殊值
Empty
、
Error
、
Nothing
和
Null
。 可以使用
VarType
函数或
TypeName
函数来确定如何对待
Variant
中的数据。
使用
VarType 函数
测试 Variant 中保存的数据类型。
数值型数据可以是任意整数或负值范围从 -1.797693134862315E308 到 -4.94066E-324 和正值范围从 4.94066E-324 到 1.797693134862315E308 的实数值。
通常,数值型
Variant
数据在
Variant
内保持其原始的数据类型。 例如,如果将
Integer
分配给
Variant
,则后续操作会将
Variant
视为
Integer
。 但如果在包含
Byte
、
Integer
、
Long
或
Single
的
Variant
上执行算术运算且结果超出原始数据类型的正常区域,则该结果将在
Variant
内升级到下一个较大数据类型。
Byte
升级到
Integer
,
Integer
升级到
Long
,
Long
和
Single
升级到
Double
。
在包含
Currency
、
Decimal
和
Double
值的
Variant
变量超出其各自的区域范围时会发生错误。
使用
Variant
数据类型替换任意数据类型,从而能够更加灵活地使用数据。 如果
Variant
变量的内容为数字,则它们可以是数字的字符串表示形式或其实际值,具体取决于上下文。 例如:
Dim MyVar As Variant
MyVar = 98052
在上述示例中,MyVar
包含数值表示形式—实际值 98052
。 算数运算符在 Variant 变量上按预期工作,其中包含可被解释为数字的数值或字符串数据。 如果使用 + 运算符将 MyVar
添加到另一个包含数字的 Variant 或添加到数值类型的变量中,则结果是算术和。
值 Empty 表示尚未被初始化的 Variant 变量(已分配初始值)。 包含 Empty 的 Variant 用于数值上下文时为 0;用于字符串上下文时为零长度字符串 ("")。
切勿混淆 Empty 和 Null。 Null 指示 Variant 变量有意不包含任何有效数据。
在 Variant 中,Error 是一个用于指示过程中发生错误情况的特殊值。 但与其他错误类型不同,不会进行正常的应用程序级别错误处理。 这样可允许您或应用程序本身基于错误值采取一些替代操作。 可通过使用 CVErr 函数将实数转换为错误值来创建 Error 值。
数据类型摘要
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。