📅  最后修改于: 2021-01-11 13:59:40             🧑  作者: Mango
计算机无法区分数字(1、2、3,…)和字符串(a,b,c,…)。为了进行区分,我们使用数据类型。
您分配给变量的数据类型将取决于您希望该变量保存的数据类型。
在VBA中,有许多数据类型。我们将数据类型分为两个主要类别,即数字和非数字数据类型。
下表显示了可以在VBA Excel中使用的所有可用数据类型。
Type | Storage | Range of Values |
---|---|---|
Byte | 1 byte | 0 to 255 |
Integer | 2 bytes | -32,768 to 32,767 |
Long | 4 bytes | -2,147,483,648 to 2,147,483,648 |
Single | 4 bytes | -3.402823E+38 to -1.401298E-45 for negative values 1.401298E-45 to 3.402823E+38 for positive values. |
Double | 8 bytes | -1.79769313486232e+308 to -4.94065645841247E-324 for negative values 4.94065645841247E-324 to 1.79769313486232e+308 for positive values. |
Currency | 8 bytes | -922,337,203,685,477.5808 to 922,337,203,685,477.5807 |
Decimal | 12 bytes | +/- 79,228,162,514,264,337,593,543,950,335 if no decimal is use +/- 7.9228162514264337593543950335 (28 decimal places) |
Data Type | Bytes Used | Range of values |
---|---|---|
String (fixed-length) | Length of string | 1 to 65,400 characters |
String (variable length) | Length + 10 bytes | 0 to 2 billion characters |
Boolean | 2 bytes | True or False |
Date | 8 bytes | January 1, 100 to December 31, 9999 |
Object | 4 bytes | Any embedded object |
Variant (numeric) | 16 bytes | Any value as large as double |
Variant (text) | Length + 22 bytes | Same as variable-length string |
User-defined | Varies | The range of each element is the same as the range of its data type. |
注意:如果未指定数据类型,它将在VBA中自动将变量声明为变量。
当您在代码中指定变量的数据类型时,它会告诉VBA如何存储该变量以及必须为其分配多少空间。
例如,如果您需要使用用于保存月份数的变量,则可以使用Byte数据类型(可容纳0到255之间的值)。由于月份数不会超过12,因此可以正常工作,并且为此变量保留的内存更少。
而且,如果您需要一个变量来在Excel中存储行号,则需要使用一种可以容纳最大1048756的数字的数据类型。因此,最好使用Long数据类型。