How to use Option Explicit statement in VBA?

The Option Explicit statement in VBA (Visual Basic for Applications) is used to force explicit declaration of all variables in your code. When Option Explicit is used, you must declare every variable using the Dim, Private, Public, or ReDim statements before you can use it. This practice helps prevent errors caused by typographical mistakes in variable names and makes your code more readable and maintainable.

Here’s how to use Option Explicit

Place at the Top of the Module

Option Explicit should be the first line in your module, before any procedures or variable declarations.


Simply type Option Explicit at the beginning of your module.

Enforcing Variable Declarations

Once Option Explicit is declared in a module, attempting to use an undeclared variable will result in a compile-time error. This helps you catch typos and incorrect variable names early in the development process.

Declaring Variables

With Option Explicit on, you must declare variables explicitly. For example:

Dim counter As Integer
counter = 1


The Option Explicit setting applies only to the module in which it is declared.


Without Option Explicit:

' This would be allowed (but not recommended) without Option Explicit
myVar = 10

With Option Explicit:

Option Explicit
Dim myVar As Integer
myVar = 10  ' This is the correct way with Option Explicit


  • Error Prevention: Helps in catching typographical errors in variable names.
  • Code Clarity: Makes your code clearer and more readable by providing a list of all variables and their types at the beginning of your modules.
  • Maintainability: Easier to understand and maintain code, especially in larger projects or when working in a team.
  • Turning on Option Explicit by Default: In the VBA editor, you can set Option Explicit to be on by default for all new modules. This is done through the editor’s options/settings menu.

Using Option Explicit is considered a best practice in VBA programming. It encourages good programming habits, reduces the likelihood of runtime errors due to undeclared variables, and makes your code more robust and easier to debug.

Unlock Your Potential


Basic - Advanced


Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project

Leave a Reply

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