数据类型
VBA提供了15种标准数据类型,具体见下表:
变量
1 Sub 变量学习()
2
3 'Dim 变量名 As 数据类型
4 Dim str1 As String
5
6 '声明定长的String变量
7 Dim str2 As String * 10
8
9 '使用变量类型声明符
10 Dim str3$
11
12 '声明多个变量
13 Dim Str As String, nu As Integer
14
15 '如果不指明变量类型,默认为Variant
16 Dim Str
17
18 End Sub
数据类型 | 类型声明符 |
Integer | % |
Long | & |
Single | ! |
Double | # |
Currency | @ |
String | $ |
存储数据
【Let】 变量名称 = 数据
存储对象
Set 变量名称 = 对象
作用域
Static:本地变量,该过程能用,其他不能用
Private:模块集变量,该模块中的所用过程均能使用,模块外不能使用
Public:公共变量,所用模块的过程均可使用
常量
1 Sub 常量学习()
2
3 'Const 变量名 As 数据类型
4
5 Const p As Single = 3.14
6
7
8 End Sub
常量作用域(与变量基本一致)
本地常量:在过程的中间使用Const语句声明的常量,仅该过程能使用
模块级常量:在模块的第一个过程之前使用Const语句声明的常量,该模块所用过程能使用
公共常量:在模块的第一个过程之前使用Public语句声明的常量,所用模块所用过程能使用
数组
1 Sub 数组学习()
2
3 'Dim 数值名(a to b) As 数据类型
4
5
6 '多维数据
7 Dim arr(1 To 3, 1 To 20)
8
9
10 Dim arr As Variant
11
12 arr = Array(1, 2, 3, 4, 5)
13
14 arr = Split("学,习,数,组", ",")
15
16 arr = Range("A1:A5").Value
17
18 End Sub
获取最大索引:UBound(arr)
获取最小索引:LBound(arr)
数组连接:Join(arr,"@"),@为连接符
数组本质上也变量,作用域同变量一样