VBA 数据类型

2024 年 8 月 29 日 | 阅读 2 分钟

计算机无法区分数字 (1, 2, 3,...) 和字符串 (a, b, c,...)。为了进行区分,我们使用数据类型。

您分配给变量的数据类型将取决于您希望该变量保存的数据类型。

在 VBA 中,有许多数据类型。我们将数据类型分为两个主要类别,即数值和非数值数据类型。

下表显示了您可以在 VBA Excel 中使用的所有可用数据类型。

数值数据类型

类型存储值范围
Byte1 字节0 到 255
Integer2 字节-32,768 至 32,767
Long4 字节-2,147,483,648 到 2,147,483,648
单精度4 字节-3.402823E+38 到 -1.401298E-45 用于负值,1.401298E-45 到 3.402823E+38 用于正值。
Double8 字节-1.79769313486232e+308 到 -4.94065645841247E-324 用于负值,4.94065645841247E-324 到 1.79769313486232e+308 用于正值。
货币 (Currency)8 字节-922,337,203,685,477.5808 到 922,337,203,685,477.5807
十进制12 字节+/- 79,228,162,514,264,337,593,543,950,335 如果不使用小数位,则为 +/- 7.9228162514264337593543950335(28 位小数)

非数值数据类型

数据类型使用的字节数值范围
字符串(固定长度)字符串长度1 到 65,400 个字符
字符串(可变长度)长度 + 10 字节0 到 20 亿个字符
Boolean2 字节True 或 False
日期8 字节公元 100 年 1 月 1 日到公元 9999 年 12 月 31 日
Object4 字节任何嵌入对象
变体(数值)16 字节任何与 double 一样大的值
变体(文本)长度 + 22 字节与可变长度字符串相同
用户定义变化每个元素的范围与其数据类型的范围相同。

注意:如果未指定数据类型,则会自动将变量声明为 VBA 中的变体。

当您在代码中指定变量的数据类型时,它会告诉 VBA 如何存储变量以及必须为其分配多少空间。

例如,如果您需要使用一个变量来保存月份数字,则可以使用 Byte 数据类型(它可以容纳 0 到 255 之间的值)。 由于月份数字不会高于 12,因此这将工作正常,并且还会为此变量保留更少的内存。

并且,如果您需要一个变量来存储 Excel 中的行号,则需要使用一种可以容纳高达 1048756 的数字的数据类型。因此,最好使用 Long 数据类型


下一主题VBA 变量