ref:https://baike.baidu.com/item/VBA/1596798?fr=aladdin

基本数据类型

一 字符串类型,符号:String

字符串是用于保存文本数据的,字符串内容应放置于双引号内。字符长度4字节。

二 字节型,符号:Byte

字节型字符的长度是1个字节。

三 布尔型,符号Boolean

布尔型数据用于表示逻辑值:真、假 。其中“真”为True,“假”为False。布尔值数据常用于条件判断语句。布尔型字符长度是2个字节。

应当注意的是,当其它数据类型转换为布尔值时,0会转成False,其它值则变成True。当把布尔值转换成其他数据类型时,False会转换为0,True则是-1。

注意:和EXCEL的不同点:VBA中当把布尔值转换成其他数据类型时,False会转换为0,True则是-1。

四 数字的类型 VBA中用于表示数字的数据类型有4种:

整型 Integer,占用两个字节;长整型 Long,占用4个字节;单精度浮点型 Single,占用4个字节;双精度浮点型 Double,占用8个字节.

  1. 整型及长整型用于表示整数,单精度与双精度浮点型都用于表示小数。

2 整型与长整型的区别在于两者所能表示的数值范围不同:

3 整型数据能表示的数据范围:-32768 ~ 32767

4 长整型数据能表示的数据范围:-2147483648 ~ 2147483647

5 单精度浮点数与双精度浮点数除了在数值范围不同之外,两者所能表示的数据精度(即小数点后多少位)也是不同的

6 单精度浮点型能表示的数据范围:

在表示负数时: -3.402823E38 ~ -1.401298E-45

在表示正数时: 1.401298E-45 ~ 3.402823E38

7 双精度浮点型能表示的数据范围:

在表示负数时: -1.79769313486231E308 ~ -4.94065645841247E-324

在表示正数时: 4.94065645841247E-324 ~ 1.79769313486231E308

8 单精度浮点型其精度是6,即只能保存小数点后最多6位的数据;如果超出以上长度,则超出部分会被去掉,并且会自动四舍五入。

9 双精度浮点型其精度是14,即只能保存小数点后最多14位的数据。如果超出以上长度,则超出部分会被去掉,并且会自动四舍五入。

上述各类型的数据在使用时要遵守的一个原则就是:够用就好。而不是越大越好。

五. 日期型数据,符号Date

日期型数据不仅可以表示日期,还可以表示时间。可以表示的日期范围是:100年1月1日 ~ 9999年12月31日;可以表示的时间范围是:0:00:00 ~ 23.59.59。占用8个字节。

能被Excel识别到的日期,都可以赋值给日期型变量。

五. 变体型数据,符号Variant

变体型数据是一种特殊的数据类型,几乎可以用于保存所有其它数据类型的数据。可以简单地理解为:当不知道变量所要表示的数据是什么类型时,就把它定义为Variant。

六. 对象型数据,符号Object

对象型是VBA中另一种特殊的数据类型。有点类似于其它高级编程语言中的“对象”,它们都有自己的属性与方法.

上面讲了在VBA中用到的各种数据的类型,这些其实在我们的写代码中经常会用到,加以规范的总结是必要的,不要认为这些简单,数的理论往往看着简单,往往有很深奥的知识在里面。一切圣贤皆以无为法而有差别,最简单的道理是最大的。

实例:在写代码时,在命名变量时,最好使用规范的语句进行声明:如,想要给某同学的成绩表数据求和,把值放在SUM_NO1中,由于是考试成绩,将会出现小数,而小数的位数不会很多,所以就要利用下面的语句声明:

DIM SUM_NO1 AS Single

百度百科

基本数据类型
即Primary Type Data,下述列表的括号内为字节数: [2]
Byte (1):无符号数类型,取值范围0-255
Boolean (2)
Integer(2)
Long (4)
Single (4)
Double (8)
Currency (8)
Decimal (14)
Date (8)
String
Object (4)
Variant (根据分配确定) [2]
自定义的数据类型
相当于C语言的struct,例如: [2]
Type 自定义类型名 元素名 As 类型 … [元素名 As 类型] End Type
数组
Option Base 0 :数组索引值从0开始 [2]
Option Base 1 :数组索引值从1开始
Dim MyArray(10) :声明一个数组变量,10是最大的可用的数组索引值
MyArray(5) = 101 :给数组的元素赋值
Dim Data(10,5) :声明一个二维数组变量
Data(1,1) = “A001” :给数组元素赋值
Dim cArr(-11 To 20, 1 To 3) As String :声明一个数组,定义数组索引值的上下界
Dim dArr() As String :声明动态数组
ReDim dArr(0 To 5, 1 To 2) :改变动态数组的尺寸默认把原数据清除。如果保留原来的数据,必须加上参数
Preserve:使用Preserve参数时只能改变最后一位的大小
If UBound(vTemp) = -1 Then:判断数组变量vTemp是否为空数组
End If Erase MyArrar, Data Erase语句清除数组元素,释放变量占用的空间 [2]

常量系统

系统定义常量

系统定义常量有3个:True、False和Null。

固有常量

固有常量是编程时引用的对象库定义的常量。所有固有常量都可以在或VBA代码中使用。通常,固有常量通过前两个字母来指明定义该常量。来自VB库的常量则以“vb”开头。来自Access的常量以“ac”开头。可以使用对象浏览器来查看所有对象库中的固有常量列表。
在VBA中,常量的数据类型有整型、长整型、单精度型、双精度型、字节型、货币型、字符型、日期型和逻辑型。一个整型数据就是一个整型常量,一个长整型数据就是一个长整型常量。例如,12%、-1%是整型常量,32768&、10000000&是长整型常量,-2.5 1、3.14是单精度实型常量,3.1415926#是双精度实型常量,China、Shanghai是字符型常量,#07/13/2001 11:45PM#是日期常量,由符号 “ # ” 将字符括起来。

符号常量

可以自行定义的常量即符号常量,必须先定义,后使用。可见,需要声明的常量都是符号常量
基本语法格式:

1 [ Publicr/ ``Private``] ``Const 常量名[``As 类型]=表达式

如:Global Const 符号常量名称 = 常量值
语句功能:
定义一个符号常量,并将指定表达式的值赋给符号常量
语句说明如下:
1)“常量名”指定符号常量的名字。符号常量名可以由字母、数字和下画线组成,但只能以字母开头,不能含有空格。
2)“表达式”指定符号常量的值。该表达式通常由数值型、字符型、逻辑型或日期型数据以及各种运算符组成,但在表达式中不能出现变量和函数。
3) public用来表示这个常量的作用范围是整个数据库的所有模块。
4) private则表示这个常量只在使用该声明常量语句的模块中起作用。
说明:
1)除用户定义的符号常量外,VBA还提供了许多符号常量,我们可以直接使用。
2)对数码比较长,并且在程序中多次使用的常量,通常使用符号常量代替。运行程序时,系统自动把程序中的所有符号常量换为赋给它的值。

基本控制语句

运算符

程序结构

模块