数据类型 | 所使用的字节 | 数值的范围 |
Byte | 1个字节 | 0-255 |
Boolean | 2个字节 | True或False |
Integer | 2个字节 | -32 768~32 767 |
Long | 4个字节 | -2 147 483 648~2 147 483 647 |
Single | 4个字节 | 负值:-3.402 823E38~-1.401 298E-45
正值:1.401 298E-45~3.402 823E38 |
Double | 8个字节 | 负值:-1.797 693 134 862 32E308~-4.940 656 458 412 47E-324
正值:4.940 656 458 412 47E-324~1.797 693 134 862 32E308 |
Currency | 8个字节 | -992 337 203 685 477.5808~992 337 203 685 477.5807 |
Decimal | 12个字节 | 不带小数位时+/-79 228 162 514 264 337 593 543 950 335
带28个小数位时+- 7.922 816 251 426 433 759 354 395 033 5 |
Date | 8个字节 | 0100年1月1日~9999年12月31日 |
Object | 4个字节 | 任意对象的引用 |
String(变长) | 10个字节+字符串的长度 | 0~大约20亿个字符 |
String(定长) | 字符串的长度 | 1~大约65400个字符 |
Variant(数字) | 16个字节 | 最大到双精度(Double)数据类型的任意数值。也可以保存诸如Empty、Error、Nothing和Null之类的特殊数值。 |
Variant(字符) | 22个字节+字符串的长度 | 0~大约20亿 |
用户自定义 | 因元素类型而异 | 因元素类型而异 |
如果不为VBA中使用的某个变量声明数据类型,将默认使用Variant类型,存储为Variant类型的数据行根据处理内容不同将改变数据的类型。尽管VBA可以自动维护数据类型,但是会导致执行速度慢以及内存使用效率不高等问题。