隐式和显式声明

如果代码模块在模块顶部不包含 Option Explicit,则编译器将在你使用它们时自动(即隐式)为你创建变量。它们将默认为变量类型 Variant

Public Sub ExampleDeclaration()    

    someVariable = 10                  ' 
    someOtherVariable = "Hello World"
    'Both of these variables are of the Variant type.

End Sub

在上面的代码中,如果指定了 Option Explicit,代码将中断,因为它缺少 someVariablesomeOtherVariable 所需的 Dim 语句。

Option Explicit

Public Sub ExampleDeclaration()   

    Dim someVariable As Long 
    someVariable = 10

    Dim someOtherVariable As String
    someOtherVariable = "Hello World"

End Sub

在代码模块中使用 Option Explicit 被认为是最佳实践,以确保声明所有变量。

请参阅 VBA 最佳实践默认情况下如何设置此选项。