VBA语法基础(上下)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VBA语法基础(上)
- - - - - - - - - - - - - - - - - -
数据类型
“数据类型”是指如何将数据存储在内存中。
(1)Boolean
表示逻辑数据,可以是True或False中的任一个值。占用2字节的存储空间,取值范围为True或False,缺省值为Fal se。
(2)Byte
只能表示正数。占用1字节的存储空间,取值范围为0-255,缺省值为0。
(3)Currency
一种保存货币值数据的特殊数字格式。占用8字节的存储空间,取值范围为-922337203685477.5808-9223372036854 77.5807,缺省值为0。
(4)Date
一种用于表示日期或时间的专用格式。占用8字节的存储空间,取值范围为100年1月1日——9999年12月31日,缺省值为00:00:00。(有关在VBA中使用日期和时间的详细介绍请见后面的一系列文章。)
(5)Decimal
一种包含以10的幂为刻度的十进制数的变体子类型,只能通过CDec转换函数创建,不是一种独立的数据类型。占用
14字节的存储空间,取值范围为±79228162514264337593 543950335(不带小数点)或±7.92281625142643375935439 50335(带28位小数点),缺省值为0。
(Decimal数据类型是在Excel 2000中引入的,在以前的版本中不能使用这种数据类型。该数据类型非常特殊,因为不能实际声明它,它是Variant的子类型,必须使用CDec函数将一个变量转换为Decimal数据类型)
(6)Double
存储双精度浮点数,占用8字节的存储空间,取值范围为负值:-1.79769313486232E308——4.94065645841247E-32 4,正值:1.79769313486232E308——4.94065645841247 E-324,缺省值为0。
(7)Integer
表示从-32768-32767之间的整数,其中一位表示符号,占用2字节的存储空间,缺省值为0。
(8)Long
表示存储为4个字节空间的带符号的数,其中一位表示符号,取值范围为-2147483648-2147483647,缺省值为0。(9)Object
包含对某个对象的引用(地址),占用4字节的存储空间,可对任何对象引用,缺省值为Nothing。
(10)Single
表示分数、带小数位或指数的数值等单精度数,占用4字节的存储空间,取值范围为负值:-3.402823E38——1.40129 8E-45,正值:1.401298E-45——3.402823E38,缺省值为0。
(11)String
可声明定长和变长的String数据类型。其中,定长的String 数据类型占用的存储空间为字符串的长度,取值范围为1——65400个字符,缺省值等于该字符串长度的空格数。变长的String数据类型能动态地加长或缩短以存储要求的字符串数,占用的存储空间为10字节加上字符串的长度,取值范围为0——20亿个字符,缺省值为零长字符串(“”)。(有关St ring数据类型及处理和操作字符串数据的VBA内置函数的详细介绍请见后面的一系列文章。)
(12)Variant
Variant字符串类型的存储空间为22字节加上字符串的长度,其取值范围与变长字符串数据类型的取值范围相同,缺省值为Empty。
Variant数字型的存储空间为16字节,其取值范围与Doubl e数据类型的取值范围相同,缺省值为Empty。
(有关Variant数据类型的进一步介绍见后面的一系列文章。)
(13)用户自定义类型
允许用户创建一种特殊的数据类型,这种数据类型由VBA
的内部数据类型、数组、对象或其他用户定义类型组成,其存储空间为各个组成部分的存储空间的总和,取值范围与各个组成部分的数据类型的取值范围一致,缺省值为各个组成部分的缺省值。(有关用户自定义类型的进一步介绍请见后面的一系列文章。)
各数据类型之间也可以相互转换。(有关数据类型转换的详细介绍请见后面的一系列文章)
(有关数字数据类型(Byte、Integer、Long、Single、Double、Currency、Decimal、Variant)及相应的VBA内置函数的详细介绍请见后面的一系列文章。)
- - - - - - - - - - - - - - - - - -
常量(数)
常量即在程序执行过程中不发生改变的值或字符串。
使用Const语句声明常量。如:
Const Rate=0.25
Const NumMonths As Integer=12
Public Const myName As String=”BabyPig”
而最后一个语句声明了一个公共常量,应放在模块中所有过程之前声明。
VBA自身包含有许多内置常数,它们的值都是VBA预先定义好的,使用内部常数时无需定义这些常数的值。
■ 几个特殊的常数
由于有好几种不相同的“无效值”常数,VBA语言提供了好几种方法,以检验某个变量是否为empty或null值,或者设置某个变量为empty或null值。
(1) vbNull
和VarType函数一起使用,用于确定变量是否包含null。
(2) vbNullChar
赋值或检测null字符,null字符的值为Chr(0),即vbNullCh ar常数相当于将变量赋值为Chr(0),可用于检测变量,确定它的值是否是一个null字符。
(3) vbNullString
赋值或检测零长(空)字符串。
(4) Null关键字
将null值赋给variant变量后,可以通过调用IsNull函数来检测变量是否是Null值。
(5) vbEmpty
检测某个variant变量是否初始化。
(6) Nothing关键字
只能和对象变量一起使用,以确定变量是否具有有效的对象引用,此外,Nothing关键字还可以用于销毁当前的对象引用。
(关于常量的介绍还可见《ExcelVBA编程系列之数据类型