VBA基础-数据类型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VBA基础-数据类型
概要
学习⼀种新语⾔, 数据类型和关键字是第⼀步.
数据类型
常⽤的数据类型如下:
类型存储空间范围
Boolean 2 bytes True 或者 False
Byte 1 byte0 ~ 255
Integer 2 bytes-32768 ~ 32768
Long 4 bytes-2147483648 ~ 2147483647
LongLong8 bytes-2147483648 ~ 2147483647
String10 bytes + string length0 ~ 20 亿个字符
Object 4 bytes可以赋值给任何对象引⽤
Single 4 bytes-3.402823E38 ~ -1.401298E-45 (对负值)
1.401298E-45 ~ 3.402823E38 (对正值)
Double8 bytes-1.79769313486231E308 ~ -4.94065645841247E-324 (对负值)
4.94065645841247E-324 ~ 1.79769313486231E308 (对负值)
Date8 bytes100 年 1 ⽉ 1 ⽇ ~ 9999 年 12 ⽉ 31 ⽇ 0:00:00 ~ 23:59:59
Variant16 bytes任意值, 性能较低
VBA 中提供了⼀系列⽤于类型之间的转换
运算符
运算符是和数据类型同样, 是使⽤最多的部分.
类型运算符说明⽰例
算术运算符*乘法MyValue = 2 * 2 ' Returns 4.
^乘⽅MyValue = 2 ^ 2 ' Returns 4.
/除法运算, 返回浮点型结果MyValue = 10 / 4 ' Returns 2.5.
\除法运算, 返回整数结果MyValue = 100 \ 3 ' Returns 33.
Mod求余数MyResult = 10 Mod 3 ' Returns 1.
+加法MyNumber = 2 + 2 ' Returns 4.
-减法MyResult = 4 - 2 ' Returns 2.
⽐较运算符=判断是否相等Check = (4 = 4) ' Returns True
Is判断 2 个对象的引⽤是否相同Set ThisObject = MyObject
MyCheck = ThisObject Is ThisObject ' Returns True.
Like⽐较字符串时, 可以使⽤通配符, 简化版的正则MyCheck = "aBBBa" Like "a*a" ' Returns True.
连接运算符&连接字符串MyStr = "Hello" & " World" ' Returns "Hello World".
+除了作为加法, 还可以⽤在字符串上Var1 = "34": Var2 = 6; MyNumber = Var1 + Var2 ' Returns 40.
Var1 = "34": Var2 = "6"; MyNumber = Var1 + Var2 ' Returns "346".
逻辑运算符And逻辑与
Eqv逻辑等于
Imp不太常⽤
Not逻辑⾮
Or逻辑或
Xor逻辑异或
变量
有了数据类型, 就可以定义各种变量, 完成相应的计算. 变量的定义和计算, 和其他编程语⾔也没有什么区别, 这⾥主要提下变量的⽣命周期.
全局变量和局部变量 1 Dim globalX As Integer
2
3 Sub Test()
4 f1
5 globalX = globalX + 1
6 localX = localX + 1
7 f1
8 End Sub
9
10 Function f1()
11 Dim localX As Integer
12
13 Debug.Print "全局变量 " & globalX
14 Debug.Print "局部变量 " & localX
15 End Function
运⾏ Test, 输出:
全局变量 0
局部变量 0
全局变量 1
局部变量 0
静态变量和动态变量
1 Sub Test()
2 f1
3 f1
4 f1
5 End Sub
6
7 Function f1()
8 Dim dX As Integer
9 Static sX As Integer
10
11 sX = sX + 1
12 dX = dX + 1
13 Debug.Print "静态变量 " & sX
14 Debug.Print "动态变量 " & dX
15 End Function
运⾏ Test, 输出:
静态变量 1
动态变量 1
静态变量 2
动态变量 1
静态变量 3
动态变量 1。

相关文档
最新文档