VBA代码中包含变量、运算符和语句。变量在代码中起到互交与连接的作用。变量从创建为合适的对象与数据类型,到初始化,再通过运算符计算或执行语句修改,来完成整个互交的过程。
声明变量的关键词是Dim,其语法是
Dim [WithEvents] varname[([subscripts])] [As [New] type] [, [WithEvents] varname[([subscripts])] [As [New] type]] . . .
Dim 语句的语法包含下面部分:
| 部分 | 描述 |
|---|---|
| WithEvents | 可选的。关键字,说明 varname 是一个用来响应由 ActiveX 对象触发的事件的对象变量。只有在类模块中才是合法的。使用 WithEvents,可以声明任意个所需的单变量,但不能使用 WithEvents 创建数组。New 和 WithEvents 不能一起使用。 |
| varname | 必需的。变量的名称;遵循标准的变量命名约定。 |
| subscripts | 可选的。数组变量的维数;最多可以定义 60 维的多维数组。subscripts 参数使用下面的语法: |
| [lower To] upper [, [lower To] upper] . . . | |
| 如果不显式指定 lower,则数组的下界由 Option Base 语句控制。如果没有使用 Option Base 语句,则下界为 0。 | |
| New | 可选的。可隐式地创建对象的关键字。如果使用 New 来声明对象变量,则在第一次引用该变量时将新建该对象的实例,因此不必使用 Set 语句来给该对象引用赋值。New 关键字不能声明任何内部数据类型的变量,以及从属对象的实例,也不能与 WithEvents 一起使用。 |
| type | 可选的。变量的数据类型;可以是 Byte、 Boolean 、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(对变长的字符串)、String * length (对定长的字符串)、Object、Variant、用户定义类型、或对象类型。所声明的每个变量都要一个单独的 As type 子句。 |
而在声明变量或创建变量的同时,最好先考虑好变量用什么数据类型,下面 表格显示所支持的数据类型,以及存储空间大小与范围。
| 数据类型 | 存储空间大小 | 范围 |
|---|---|---|
| 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.79769313486231E308 到 -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) | 所有元素所需数目 | 每个元素的范围与它本身的数据类型的范围相同。 |
