所谓变量,就是可变的量。我们在前面已经接触到了,有了变量我们就可以在循环里实现数据或单元格的自动变换。变量其实就好象在内存中临时存放的小盒子,这种盒子有好几种,每种里存放相应的物体。
一、变量类型
在VBA中我们常用到的变量类型有数字型(Byte、Integer、Long、Single、Double)、文本型(String)、布尔型(Boolean)、日期型(Data)、对象、数组等,有的是很多编程语言里常用到的,有的则是Excle中为了简便操作而特殊定义的类型。具体变量类型的说明我们在VBA编辑器里按F1可以查看帮助文件,Visual Basic 语言参考下面有数据类型。
1、数值型
2、文本型
3、对象
4、数组
以上是简单介绍了几种常用的数据类型,学会了查帮助文件就会学到很多知识。需要注意的是每种数据类型都是有范围的,它们在内存中占用的大小是不一样的,所以它们能存放的东西也是有大小限制的。下面的表格列举了各种类型占用内存的大小和能够存放数据的范围。在使用的时候一定要注意选取合适的,一来不要出现整型数据里存放浮点数的错误,二来不要大材小用浪费内存。
二、变量的声明
有人会问,我可不可以不声明变量,让计算机自动去处理呢?答案是可以,但是这样会造成内存的浪费。当然,有的时候我们确确实实不知道该声明成什么变量。
但是,如果你选择了要求变量声明,你必须进行声明,否则会编译错误。(工具--选项--编辑器标签下面有这个选项,如果勾选了,在编辑器的顶端会有Option Explicit。)
声明变量的方式常用的有几种,每种都可以一次声明多个变量,多个变量名称见用逗号隔开:
Dim 变量名称 As 变量类型,最常用的变量声明方式,可用在过程和模块中。
Public 变量名称 As 变量类型,声明为公共变量。
Private 变量名称 As 变量类型,声明为私有变量。
Static 变量名称 As 变量类型,声明静态变量,在整个代码运行期间它的值不会变化。
如果我们一时不知道该声明成什么变量类型,只声明变量名称而不指定变量类型,则默认为Variant类型(变体型),它会根据需要存储的数据类型改变自己的类型与之匹配。还是那句话,尽量少用,因为会造成内存的浪费。
三、变量的存活周期
变量分为过程级变量、模块级变量和全局变量,不同的变量有不同的使用范围和在内存中存活周期。
1、过程级变量:每一个Sub就是一个过程,在其中声明的变量均为过程级变量,可用Dim或Static声明。过程结束,变量值释放。
2、模块级变量:一个模块中可以有多个过程,在所有过程之外声明的变量就是这个模块共享的变量,可用Dim或Private声明。变量的值只在本模块中保持,工作簿关闭时释放。
3、全局级变量:用Public声明的变量就是全局变量,在任何一个模块中的任何位置都可以声明。 在所有的模块中都可以调用,值会保存到Excel关闭时才会被释放。
相关笔记请参阅:
联系客服