1、数据类型
数据类型告诉计算机如何将数据存储在内存中,如以整数、字符串、日期等。
数据类型是变量的特性,数据类型包括:
数据类型 |
存储空间大小 | 范围 |
Byte | 1 个字节 | 0 到 255 |
Boolean | 2 个字节 | True 或 False |
Integer |
2 个字节 | -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 | ||
Currency |
8 个字节 | 从 -922,337,203,685,477.5808 到 922,337,203,685,477.5807 |
(变比整型) | ||
Decimal | 14 个字节 | 没有小数点时为 +/-79,228,162,514,264,337,593,543,950,335,而小数点右边有 28 位数时为 +/-7.9228162514264337593543950335;最小的非零值为 +/-0.0000000000000000000000000001 |
Date | 8 个字节 | 100 年 1 月 1 日 到 9999 年 12 月 31 日 |
Object | 4 个字节 | 任何 Object 引用 |
String |
10 字节加字符串长度 | 0 到大约 20 亿 |
(变长) | ||
String(定长) | 字符串长度 | 1 到大约 65,400 |
Variant(数字) | 16 个字节 | 任何数字值,最大可达 Double 的范围 |
Variant(字符) | 22 个字节加字符串长度 | 与变长 String 有相同的范围 |
用户自定义 |
所有元素所需数目 | 每个元素的范围与它本身的数据类型的范围相同。 |
(利用 Type) |
--------------------------------------------------------------------------------------
2、变量
变量是用于保存在程序运行过程中需要临时保存的值或对象。就相当于我们在操作工作表的时候插入的辅助单元格、辅助列或辅助表一样。
同工作表的单元格一样,变量可以接纳很多种的数据类型,如其名,程序运行后,变量的值是可以改变的。
如何定义变量?
定义变量可以使用Dim语句:
Dim 变量名 As 数据类型
定义变量除了可以使用Dim语句外,比较常的还有:static语句,Private语句,Public语句。使用不同的语句定义的变量不同的是它们的作用作用域不同,具体为:
(1)如果在一个过程中包含了一个Dim或Static语句,此时声明的变量作用域为此过程,即本地变量。
(2)如果在一个模块的第一个过程之前包含了Dim或Prvate语句,此时声明的变量作用域为此模块里所有的过程,也就是在此模块里所有的过程都可以使用它,即模块作用域下的变量;
(3)如果在一个模块的第一个过程之前包含了Public语名,此时声明的变量作用域为所有模块,即公有变量。
变量的作用域是指变量保留其值的这段时间,也称为变量的生成周期,它决定变量可以用于哪个模块或过程中。
给变量赋值
用等号(=)是VBA里的赋值运算符。
比如我们把"我在学习VBA变量!"这个字符串赋给变量A,则直接输入:
A="我在学习VBA变量!"
对了,你可以在立即窗口里试一下逐条输入:
A="我在学习VBA变量!"
Mgbox A
3、常量
执行过程时,变量的值会发生改变,所以我们称它为“变量”,但有时候我们需要引用不会发生变化的数据,这就是常量。常量声明后,不以对它进行再赋值。
声明常量设定常量的值,需要用Const语句:
Const 常量名 As 数据类型 = 常量的值
4、数组
除了变量和常量以外,数组也是我们常用到的。
什么是数组?
数组是具有相同数据类型并且共享一个名字的一组变量的集合。数组也是变量。
数组中的元素通过索引数字加以区分。
如何声明数组?
可以用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语句重新指定数组的大小。