Data type | Value range | Size |
Boolean | 0 (False) or -1 (True) | 2 bytes |
Byte
Unsigned short integer | 0 to 255 | 1 byte |
Integer
Signed short integer | -32,768 to 32,767 | 2 bytes |
Long
Signed long integer | -2,147,483,648 to 2,147,483,647 | 4 bytes |
Single
Single-precision floating-point | -3.402823E+38 to 3.402823E+38 | 4 bytes |
Double
Double-precision floating-point | -1.7976931348623158E+308 to 1.7976931348623158E+308 | 8 bytes |
Currency
Fixed-point integer scaled to 4 decimal places | -922,337,203,685,477.5807 to 922,337,203,685,477.5807 | 8 bytes |
String | Limited by available memory | 2 bytes/ character |
Data type or structure | Description | Size |
Array | A set of elements having the same data type. An array can comprise up to 8 dimensions whose subscript bounds can range from -32,768 to 32,767. | Dynamic or global (public) arrays limited by available memory |
List | A one-dimensional set whose elements have the same data type and are referred to by name rather than by subscript. | Limited by available memory |
Variant | A special data type that can contain a value of any scalar value, array, list, or object reference. Variants can also hold Boolean and date/time values. | 16 bytes |
User-defined data type | A set of elements of possibly disparate data types. Comparable to a record in Pascal or a struct in C. | Limited to 64K bytes |
User-defined class | A set of elements of possibly disparate data types together with procedures that operate on them. | |
Object reference | A pointer to an OLE Automation object or an instance of a product-defined class or user-defined class, or an object reference to a Java Object. | 4 bytes |