Option Explicit Statement (Visual Basic)


Updated: July 20, 2015

For the latest documentation on Visual Studio 2017 RC, see Visual Studio 2017 RC Documentation.

Forces explicit declaration of all variables in a file, or allows implicit declarations of variables.

Option Explicit { On | Off }  

Optional. Enables Option Explicit checking. If On or Off is not specified, the default is On.

Optional. Disables Option Explicit checking.

When Option Explicit On or Option Explicit appears in a file, you must explicitly declare all variables by using the Dim or ReDim statements. If you try to use an undeclared variable name, an error occurs at compile time. The Option Explicit Off statement allows implicit declaration of variables.

If used, the Option Explicit statement must appear in a file before any other source code statements.

System_CAPS_ICON_note.jpg Note

Setting Option Explicit to Off is generally not a good practice. You could misspell a variable name in one or more locations, which would cause unexpected results when the program is run.

If the source code does not contain an Option Explicit statement, the Option Explicit setting on the Compile Page, Project Designer (Visual Basic) is used. If the command-line compiler is used, the /optionexplicit compiler option is used.

To set Option Explicit in the IDE

  1. In Solution Explorer, select a project. On the Project menu, click Properties. For more information, see Introduction to the Project Designer.

  2. Click the Compile tab.

  3. Set the value in the Option Explicit box.

When you create a new project, the Option Explicit setting on the Compile tab is set to the Option Explicit setting in the VB Defaults dialog box. To access the VB Defaults dialog box, on the Tools menu, click Options. In the Options dialog box, expand Projects and Solutions, and then click VB Defaults. The initial default setting in VB Defaults is On.

To set Option Explicit on the command line

The following example uses the Option Explicit statement to force explicit declaration of all variables. Attempting to use an undeclared variable causes an error at compile time.

' Force explicit variable declaration.
Option Explicit On

        Dim thisVar As Integer
        thisVar = 10
        ' The following assignment produces a COMPILER ERROR because
        ' the variable is not declared and Option Explicit is On.
        thisInt = 10 ' causes ERROR

Dim Statement
ReDim Statement
Option Compare Statement
Option Strict Statement
Visual Basic Defaults, Projects, Options Dialog Box