Excel VBA Constants

This post will guide you how to declare a Constant and assign a value to it in MS excel VBA.

The constant cannot be changed while the code is running or the program will ends up with an error.


Const  <constant_name> As <Data type> = <Constant_value>

Data types

The data types contains Byte, Boolean, Integer, Long, Currency, Decimal, Single, Double, Date, String, Object, Variant and user defined type.  Each data type have different range of values, see below table:

Type Range of Values
Byte 0 to 255
Boolean True or False
Integer -32768 to 32767
Long -2,147,483,648 to 2,147,483,648
Single -3.402823E+38 to -1.401298E-45 for negative values

1.401298E-45 to 3.402823E+38 for positive values.

Double -1.79769313486232e+308 to -4.94065645841247E-324 for negative values

4.94065645841247E-324 to 1.79769313486232e+308 for positive values.

Currency -922,337,203,685,477.5808 to 922,337,203,685,477.5807
Decimal +/- 79,228,162,514,264,337,593,543,950,335 if no decimal is use

+/- 7.9228162514264337593543950335 (28 decimal places).

String (fixed length) 1 to 65,400 characters
String (variable length) 0 to 2 billion characters
Date January 1, 100 to December 31, 9999
Object Any embedded object
Variant (numeric) Any value as large as double
Variant (text) Same as variable-length string


Example1:  Constant declaration and assignment

1# open visual Basic Editor, then insert a module and name as :myConstantDecAssDemo1

2# enter into the below VBA codes in code window.

Sub myConstantDecAssDemo1()
    Const MyIntegerCon As Integer = 25
    Const myStringCon As String = "excelhow.net"
    Const mybirthDCon As Date = 25 / 8 / 1980
    MsgBox "myIntergerConstant is" & MyIntegerCon & Chr(10) & "my stringConstant is " & myStringCon & Chr(10) & "my birthday is " & mybirthDCon
End Sub


Variable declaration and initialization 1

3# back to workbook and run the above macro.

Variable declaration and initialization 1

Variable declaration and initialization 1


So empty here ... leave a comment!

Leave a Reply

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