简单如下:
If 1 = 2 Then
Dim i As Integer
Else
Dim i As Integer
End If
Run Code Online (Sandbox Code Playgroud)
这将给出错误"当前范围内的重复声明".为什么?
变量是子/函数(过程)的本地变量.在您的情况下,"当前范围".VB,VBA和VBScript在过程中没有代码块的概念.如果我没记错的话,唯一的代码块是模块,类,表单(类)和过程.
为方便起见,您可以在过程中的任何位置声明变量.然而,"当前范围"是程序.
设计决策使语言更容易用于B -eginners.
当前范围内的重复声明
指定的名称已在此范围内使用.例如,如果两个变量在不同的过程中定义,则它们可以具有相同的名称,但如果它们是在同一过程中定义的则不是.
插入自http://msdn.microsoft.com/en-us/library/gg251613.aspx