Skip to main content

Excel data types summary

A data type is the characteristic of a variable that determines what kind of data it can hold. Data types include those in the following table as well as user-defined types and specific types of objects.

Set intrinsic data types

The following table shows the supported data types, including storage sizes and ranges.

Data type Storage size Range
Boolean 2 bytes True or False
Byte 1 byte 0 to 255
Collection Unknown Unknown
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

Dictionary Unknown Unknown
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.

A Variant containing an array requires 12 bytes more than the array alone.

Convert between data types

See Excel date type conversion functions for examples of how to use the following functions to coerce an expression to a specific data type: CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CLngLng, CLngPtr, CSng, CStr, and CVar.

For the following, see the respective function pages: CVErr, Fix, and Int.

Verify data types

To verify data types, see the following functions:

Return values for CStr

If expression is CStr returns
Boolean A string containing True or False.
Date A string containing a date in the short date format of your system.
Empty A zero-length string ("").
Error A string containing the word Error followed by the error number.
Null A run-time error.
Other numeric A string containing the number.

Leave a comment

Your email address will not be published. Required fields are marked *

Format your code: <pre><code class="language-vba">place your code here</code></pre>