1 Here is a quick reference table of the VBA data types:
Data Type | Storage Size | Range Of Values |
Boolean | 2 Bytes | True or False |
Byte | 1 Byte | 0 to 255 |
Currency (scaled integer) | 8 Bytes | -922,337,203,685,477.5808 to 922,337,203,685,477.5807 |
Date | 8 Bytes | January 1, 100, to December 31, 9999 |
Decimal | 14 Bytes | +/-79,228,162,514,264,337,593,543,950,335 with no decimal point +/-7.9228162514264337593543950335 with 28 places to the right of the decimal Smallest non-zero number is+/-0.0000000000000000000000000001 |
Double (double-precision floating-point) | 8 Bytes | -1.79769313486231E308 to -4.94065645841247E-324 for negative values 4.94065645841247E-324 to 1.79769313486232E308 for positive values |
Integer | 2 Bytes | -32,768 to 32,767 |
Long (Long integer) | 4 Bytes | -2,147,483,648 to 2,147,483,647 |
LongLong (LongLong integer) | 8 Bytes | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 Valid on 64-bit platforms only. |
LongPtr (Long integer on 32-bit systems, LongLong integer on 64-bit systems) | 4 Bytes on 32-bit systems 8 Bytes on 64-bit systems | -2,147,483,648 to 2,147,483,647 on 32-bit systems -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 on 64-bit systems |
Object | 4 Bytes | Any Object reference |
Single (single-precision floating-point) | 4 Bytes | -3.402823E38 to -1.401298E-45 for negative values 1.401298E-45 to 3.402823E38 for positive values |
String (variable-length) | 10 Bytes + string length | 0 to approximately 2 billion |
String (fixed-length) | Length of string | 1 to approximately 65,400 |
Variant (with numbers) | 16 Bytes | Any numeric value up to the range of a Double |
Variant (with characters) | 22 Bytes + string length (24 Bytes on 64-bit systems) | Same range as for variable-length String |
User-Defined (using Type) | Number required by elements | The range of each element is the same as the range of its data type. |