Option Explicit Statement

Syntax

Option Explicit

Description

Use Option Explicit to generate a compile-time error whenever a variable that has not been declared is encountered.

Rules at a Glance

  • The Option Explicit statement must appear in the declarations section of a module before any procedures.

  • In modules where the Option Explicit statement isn't used, any undeclared variables are automatically cast as variants.

Programming Tips and Gotchas

  • It's considered good programming practice to always use the Option Explicit statement. The following example shows why:

    1:    Dim iVariable As Integer
        
    2:    iVariable = 100
    3:    iVariable = iVarable + 50
    4:    MsgBox iVariable

    In this code snippet, an integer variable, iVariable, has been declared. However, because the name of the variable has been mistyped in line 3, the message box shows its value as only 50 instead of 150. This is because iVarable is assumed to be an undeclared variant whose value is 0. If the Option Explicit statement had been used, the code wouldn't have compiled, and iVarable would have been highlighted as the cause.

  • You can automatically add the Option Explicit statement to all new modules as follows: Select Options from the Tools menu, select the Editor tab of the Options dialog, then check the "Require Variable Declaration" option in the Code Settings section and click OK.

See Also

DefType Statement

Get VB & VBA in a Nutshell: The Language now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.