If a code module does not contain
Option Explicit at the top of the module, then the compiler will automatically (that is, "implicitly") create variables for you when you use them. They will default to variable type
Public Sub ExampleDeclaration() someVariable = 10 ' someOtherVariable = "Hello World" 'Both of these variables are of the Variant type. End Sub
In the above code, if
Option Explicit is specified, the code will interrupt because it is missing the required
Dim statements for
Option Explicit Public Sub ExampleDeclaration() Dim someVariable As Long someVariable = 10 Dim someOtherVariable As String someOtherVariable = "Hello World" End Sub
It is considered best practice to use Option Explicit in code modules, to ensure that you declare all variables.
See VBA Best Practices how to set this option by default.