7.3.1 数据类型

7.3.1 数据类型

数据类型是指数据值在计算机内存中的存储方式,VBA通过类型标识单词代表不同的数据类型。不同的数据类型,由于使用它们的目的不同,因此它们在内存中的存放方式和存放大小(即它们在内存中占用的字节数)也是不同的。

表7-2显示了VBA所支持的数据类型及它们的存储空间大小及取值范围。

表7-2 VBA数据类型列表

img355

下面对常用的数据类型加以简要说明。

1.数值类型

数值类型是指可以参加算术运算的数据类型,如年龄、工资等,包括字节型、整型、长整型、单精度浮点型、双精度浮点型、货币型。

字节型、整型、长整型用于存储整数,它们之间的差别在于取值范围的不同及在内存中占用字节大小不同,整型、长整型可以带正负号,字节型因为在内存中只占1个字节,因此取值范围是正数0到255。

单精度浮点型、双精度浮点型、货币型用于存储实数,即它们可以用来存储带小数的数据,但货币型属于定点数,即其小数部分是固定地保留4位。而单精度浮点数与双精度浮点数属于浮点型,即小数部分的位数是可以浮动的,两者的区别在于保存数据的精度不同,单精度数小数点位最多可以达到45位,双精度数小数点位最多可以达到324位。VBA中精度数有两种表达形式:一种是小数表示,如:1.23456、−2.3456等;另一种是指数表示法,如:1.23456E16,其含意为1.23456×1016,2.3456E−20,其含义为2.3456×10−20

2.字符型

字符型用于存储文字信息,如姓名、家庭往址、学号等,VBA中用双引号作为定界符表达字符串,即在VBA中用到字符串时,要用双引号定界符表示,如:"abc","中国"等。需要注意的是,在VBA里定界字符时,要用英文的双引号,而不能用中文的双引号,否则会提示出错。字符型分为两种,一种叫变长字符型,变长字符型的定义就是直接引用string关键字进行定义,变长字符型最多可以存放65 535个字符。另一种叫定长字符型,即其存放字符的长度可以根据需要限定,定长字符型定义时要在关键字string后加*及字符串的长度数,如string*10,表示该定长字符限定只能存放10个字符。

3.日期型

日期型用来表示日期和时间。日期的表示范围为公元100年1月1日至9999年12 月31日。时间的范围从0:00:00到23:59:59。日期的定界符为#号,即在VBA中要表达一个日期和时间时,日期和时间两边要用#号括起来,如:#2002/2/3#、#2012/2/5 10:20:20 AM#,日期值之间用“/”分隔,时间值之间用“:”分隔,AM表示上午,PM表示下午,日期与时间之间用空格分隔。

4.布尔型

布尔型数据用于表示两值状态,通常称为逻辑值,其值有两个,即True(真)、False(假),真表示条件成立,假表示条件不成立。

VBA中布尔型数据可以与数值型进行转换,当布尔型数据转换为数值型时,False转换为0,True转换为−1。当数值型转换为布尔型时,0转换为False,非零数转换为True。

5.变体型

在VBA中变体型数据表示任何可以在VBA中使用的数据,包括数值、字符、日期等。从该数据类型的名称可以看出,该数据类型是可以随着赋值的不同而发生改变的。