|
1.代码存在的基础:模块
VBA代码必须寄存在某个地方,这个地方就是模块。有两种基本类型的模块:类模块和标准模块。模块中的每个过程或者是函数过程,或者是子程序。
有两种不同的过程:子程序和函数过程。子程序只执行一个或者多个操作,而不返回数值。当录制完宏查看代码时,所看到的就是子程序的例子。宏只能录制子程序,而不能录制函数过程。函数过程通常情况下简称为函数,要返回一个数值。这个数值通常是计算的结果或者是测试
的结果,例如True或者False。
2.创建过程
创建一个过程要求两个基本的步骤。首先,需要向工作簿中添加一个模块。接着需要向模块中添加一个工程:在Visual Basic编辑器的左面,可以看到工程资源管理器窗口。在工程资源管理器的“This Workbook”上单击鼠标右键,选择“插入”、“模块”,这样就将一个模块添加到应用程序中了,选择“插入”、“过程”,显示“添加过程”对话框,输入过程名字。
3.数据类型
数据类型存储空
间大小范围
Byte1 个字节0 到 255
Boolean2 个字节True 或 False
Integer2 个字节-32,768 到 32,767
Long(长整型)4 个字节-2,147,483,648 到 2,147,483,647
Single (单精度浮点型)4 个字节负数时从 -3.402823E38 到 -1.401298E-45;正数时从 1.401298E-45 到 3.402823E38
Double (双精度浮点型)8 个字节负数时从 -1.79769313486232E308 到
-4.94065645841247E-324;正数时从4.94065645841247E-324 到 1.79769313486232E308
Currency8 个字节从 -922,337,203,685,477.5808
到 922,337,203,685,477.5807
(变比整型)
Decimal14 个字节没有小数点时为
+/-79,228,162,514,264,337,593,543,950,335,而小数点右边有 28 位数时为 +/-7.9228162514264337593543950335;最小的非零值为 +/-0.0000000000000000000000000001
Date8 个字节100 年 1 月 1 日 到 9999 年 12 月 31 日
Object4 个字节任何 Object 引用
String10 字节加字符串长度0 到大约 20 亿
(变长)
String(定长)字符串长度1 到大约 65,400
Variant(数字)16 个字节任何数字值,最大可达 Double 的范围
Variant(字符)22 个字节加字符串长度与变长 String 有相同的范围
用户自定义所有元素所需数目每个元素的范围与它本身的数据类型的范围相同。
(利用 Type)
4变量
变量是用于保存在程序运行过程中需要临时保存的值或对象。就相当于我们在操作工作表的时候插入的辅助单元格、辅助列或辅助表一样。
同工作表的单元格一样,变量可以接纳很多种的数据类型,如其名,程序运行后,变量的值是可以改变的。
如何定义变量?
定义变量可以使用Dim语句:
Dim 变量名 As 数据类型
变量名有一定的命名规则,这里我就不详细说明了,需要提醒的是在程序的设计过程中,你可能会定义很多的变量,为了阅读及修改程序的方便,你定义的变量名尽量能让人一看就明白这个变量具体代表的是什么。在Dim语句中,我们可以不必声明变量的数据类型,直接输入“Dim 变量名”此时定义的变量将被指定为Variant类型。
但我们在程序设计的过程中,一般应该明确数据的类型,这是一个好的编程习惯,因为指定数据类型后会提高程序的运行速度。
我们可以在模块中输入“Option Explict”作为第一句语句来强制声明所有变量。也可以点“工具——选项”,在选项对话框里勾选“要求声明变量”。这样,VBA在遇到没有声明的变量名称,该语句将导致程序停止。
定义变量除了可以使用Dim语句外,比较常用的还有:static语句,Private语句,Public语句。使用不同的语句定义的变量不同的是它们的作用作用域不同,具体为:
(1)如果在一个过程中包含了一个Dim或Static语句,此时声明的变量作用域为此过程,即本地变量。
(2)如果在一个模块的第一个过程之前包含了Dim或Prvate语句,此时声明的变量作用域为此模块里所有的过程,也就是在此模块里所有的过程都可以使用它,即模块作用域下的变量;
(3)如果在一个模块的第一个过程之前包含了Public语名,此时声明的变量作用域为所有模块,即公有变量。
5常量
常量
执行过程时,变量的值会发生改变,所以我们称它为“变量”,但有时候我们需要引用不会发生变化的数据,这就是常量。常量声明后,不以对它进行再赋值。
声明常量设定常量的值,需要用Const语句:
Const 常量名 As 数据类型 = 常量的值
6数组
数组
除了变量和常量以外,数组也是我们常用到的。
什么是数组?
数组是具有相同数据类型并且共享一个名字的一组变量的集合。数组也是变量。
数组中的元素通过索引数字加以区分。
如何声明数组?
可以用Dim语句或者Public语句声明数组。
Dim/Public 数组名 (a to b) as 数据类型
a 和b 是数组中元素的个数,数组元素素最小值为a,最大值为b,元素个数为(b-a+1)个,当然,你也可以直接输入个数,此时默认最小索引号为0。
如: Dim myarr(5) As Integer
这个数组的最小元素索引号为0,元素个数为6。
上面定义的只是一维数组,你还可以定义二维、三维、四维…….
如: Dim myarr(1 to 5,1 to 10) As Integer
这就是一个二维数组,元素个数为5*10=50个。
在程序设计的过程中,定义数组的时候我们可能不能确定数组的元素个数,对数组进行声明后,可以在运行时用ReDim语句重新指定数组的大小。
|