隐式和显式声明
如果代码模块在模块顶部不包含 Option Explicit
,则编译器将在你使用它们时自动(即隐式)为你创建变量。它们将默认为变量类型 Variant
。
Public Sub ExampleDeclaration()
someVariable = 10 '
someOtherVariable = "Hello World"
'Both of these variables are of the Variant type.
End Sub
在上面的代码中,如果指定了 Option Explicit
,代码将中断,因为它缺少 someVariable
和 someOtherVariable
所需的 Dim
语句。
Option Explicit
Public Sub ExampleDeclaration()
Dim someVariable As Long
someVariable = 10
Dim someOtherVariable As String
someOtherVariable = "Hello World"
End Sub
在代码模块中使用 Option Explicit 被认为是最佳实践,以确保声明所有变量。
请参阅 VBA 最佳实践默认情况下如何设置此选项。