所述变量的范围在Excel VBA中确定其中可使用该变量。您在声明变量时确定其范围。有三个作用域级别:过程级别,模块级别和公共模块级别。
在您的工作表上放置一个命令按钮,并添加以下代码行:
1.将两个过程(一个过程是子过程或一个函数)放入模块中。在Visual Basic编辑器中,单击“插入”,“模块”。添加以下代码行:
2.单击工作表上的命令按钮时的结果(调用两个子项):
说明:变量txt具有作用域过程级别,因为它是在过程中声明的(在Sub和End Sub之间)。因此,您只能在sub1中使用此变量。变量txt不能在sub2中使用。
3.当您希望变量可用于模块中的所有过程时,就是说您希望变量具有模块级作用域。您需要在“常规声明”部分(在模块顶部)声明变量。如下调整代码:
4.单击工作表上的命令按钮时的结果:
说明:变量txt现在可以在sub2中使用。模块级别可与专用模块级别互换使用。这是因为默认情况下,在“常规声明”部分中用Dim语句声明的变量的作用域为私有。您还可以将变量的范围设置为public。继续阅读。
5.通过使用Public关键字,您的变量将可用于工作簿中所有模块中的所有过程。这称为公共模块级别范围。如下调整代码:
说明:现在您可以创建一个新模块并将一个名为sub3的子放入该模块中。使用与sub2相同的代码。将sub3添加到您的命令按钮代码。当您单击工作表上的命令按钮时,您将获得三个消息框,其中显示“变量只能在此过程中使用”(请参见可下载的Excel文件)。