VBA - Variables

Variable is a named memory location used to hold a value that can be changed during the script execution. Below are the basic rules for naming a variable. Listed below are the rules for naming a variable.
  • You must use a letter as the first character.
  • You can't use a space, period (.), exclamation mark (!), or the characters @, &, $, # in the name.
  • Name can't exceed 255 characters in length.
  • Cannot use Visual Basic reserved keywords as variable name.

Syntax

In VBA, we need to declare the variables before using them.
Dim <<variable_name>> As <<variable_type>>

Data Types

There are many VBA data types, which can be grossly divided into two main categories namely numeric and non-numeric data types.

Numeric Data-Types

Below table displays the numeric data types and allowed range of values.
TypeRange of Values
Byte0 to 255
Integer-32,768 to 32,767
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).

Non-Numeric Data Types

Below table displays the Non-numeric data types and allowed range of values.
TypeRange of Values
String(fixed length)1 to 65,400 characters
String(variable length)0 to 2 billion characters
DateJanuary 1, 100 to December 31, 9999
BooleanTrue or False
ObjectAny embedded object
Variant(numeric)Any value as large as Double
Variant(text)Same as variable-length string

Example

Let us create a button and name it as 'Variables_demo' to demostrate the use of variables.
vba_02.jpg
Private Sub Variables_demo_Click()
 Dim password As String
 password = "Admin#1"
 
 Dim num As Integer
 num = 1234
 
 Dim BirthDay As Date
 BirthDay = 30 / 10 / 2020
 
 MsgBox "Passowrd is " & password & Chr(10) & "Value of num is " & num & Chr(10) & "Value of Birthday is " & BirthDay

End Sub

Output

Upon Executing the script, the output will be as shown below.
vba_03.jpg