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.

Syntax

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:
VBA
Dim counter As Integer
counter = 1

Scope

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

Example

Without Option Explicit:
VBA
' This would be allowed (but not recommended) without Option Explicit
myVar = 10
With Option Explicit:
VBA
Option Explicit
Dim myVar As Integer
myVar = 10  ' This is the correct way with Option Explicit

Benefits

  • 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

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project