Variant 数据类型

Variant 数据类型是未明确声明为某一其他类型(使用诸如 DimPrivatePublicStatic语句)的所有变量数据类型

Variant 数据类型没有类型声明字符

Variant 是一个特殊数据类型,它包含除固定长度 String 数据以外的任何类型的数据。 (Variant 类型现在支持用户定义的类型)。Variant 还可以包含特殊值 EmptyErrorNothingNull。 可以使用 VarType 函数或 TypeName 函数来确定如何对待 Variant 中的数据。

使用VarType 函数测试 Variant 中保存的数据类型。

数值型数据可以是任意整数或负值范围从 -1.797693134862315E308 到 -4.94066E-324 和正值范围从 4.94066E-324 到 1.797693134862315E308 的实数值。

通常,数值型 Variant 数据在 Variant 内保持其原始的数据类型。 例如,如果将 Integer 分配给 Variant,则后续操作会将 Variant 视为 Integer。 但如果在包含 ByteIntegerLongSingleVariant 上执行算术运算且结果超出原始数据类型的正常区域,则该结果将在 Variant 内升级到下一个较大数据类型。 Byte 升级到 IntegerInteger 升级到 LongLongSingle 升级到 Double

在包含 CurrencyDecimalDouble 值的 Variant 变量超出其各自的区域范围时会发生错误。

使用 Variant 数据类型替换任意数据类型,从而能够更加灵活地使用数据。 如果 Variant 变量的内容为数字,则它们可以是数字的字符串表示形式或其实际值,具体取决于上下文。 例如:

Dim MyVar As Variant 
MyVar = 98052 

在上述示例中,MyVar 包含数值表示形式—实际值 98052。 算数运算符在 Variant 变量上按预期工作,其中包含可被解释为数字的数值或字符串数据。 如果使用 + 运算符将 MyVar 添加到另一个包含数字的 Variant 或添加到数值类型的变量中,则结果是算术和。

Empty 表示尚未被初始化的 Variant 变量(已分配初始值)。 包含 EmptyVariant 用于数值上下文时为 0;用于字符串上下文时为零长度字符串 ("")。

切勿混淆 EmptyNullNull 指示 Variant 变量有意不包含任何有效数据。

Variant 中,Error 是一个用于指示过程中发生错误情况的特殊值。 但与其他错误类型不同,不会进行正常的应用程序级别错误处理。 这样可允许您或应用程序本身基于错误值采取一些替代操作。 可通过使用 CVErr 函数将实数转换为错误值来创建 Error 值。

另请参阅

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。