4.5 使用常量
现在,你已经知道变量是存储非静态信息的存储容器.当存储静态信息时可以创建常量.它可以供程序多次使用而且便于记忆.比如圆周率比3.1415926好理解得多.
要声明常量并设置常量的值,需要使用const语句.常量声明后,不能对它赋一个新的值.例如,假设需要声明一个常量来保存销项税率,可以使用以下语句:
conet 销项税率 As Long = 0.17
通常常量声明时用全大写字母以区分变量.
4.6 作用域
到现在为止,已经学习了如何定义变量和常量,但是还不知道在何处定义.可以在两个地方定义常量和变量:
过程中定义和在模块顶部一个名为"通用声明"的区域内定义.而且定义的位置就决定了租用域.
在过程中声明,该变量只能在该过程中使用,其他过程中不能使用这个变量和常量,这中变量成为局部变量或过程级变量;在模块顶部声明的变量称为模块级变量,该变量在该模块的所有过程中都可以使用。
还有一种等级的作用域称为公共级。公共级变量可以在应用程序的任何过程中使用,不论过程和变量是否定义在一个模块。这就使得公共级变量在使用中十分灵活,但是公共级变量在程序运行时一直保留在内存中,这样就占用了系统资源。要创建公共级变量,可以用Public语句,具体语法如下:
Public variablename As datatype
要创建公共级常量,具体语法如下:
Public const CONSTANAME datatype = value
公共级变量或常量必须在模块顶部的“通用声明”区域中定义。
4.7 小结
本课的重点是变量和常量。在本课中你学会了如何创建变量来保存非静态的数据。我们了解了VBA的数据类型,我们也学会了创建常量来保存静态的数据。本课的最后部分我们学习了变量和常量的作用域。
4.8 疑难解答
1.如果希望在多个位置使用变量的数据,应该在何处定义该变量?
答:必须在模块顶部的“通用声明”区域内定义。对于模块级变量用Dim语句,对于公共级变量用Public语句
2.模块是否独立于工作簿?
答:不,实际上模块是工作簿的一部分,当保存工作簿时,对模块所做的改变也同时保存下来.
3.为什么不应该将所有变量定义为Variant数据类型?
答:Variant类型的数据,占用较多的内存,并且影响应用程序的性能.