VBA基础语法:数据类型
Boolean 数据类型
Boolean 变量存储为 16 位(2 个字节)的数值形式,但只能是 True 或是 False。Boolean 变量的值显⽰为 True 或 False(在使⽤
Print 的时候),或者 #TRUE# 或 #FALSE#(在使⽤ Write # 的时候)。使⽤关键字 True 与 False 可将 Boolean 变量赋值为这两个状态中的⼀个。
当转换其他的数值类型为 Boolean 值时,0 会转成 False,⽽其他的值则变成 True。当转换 Boolean 值为其他的数据类型时,False 成为 0,⽽ True 成为 -1。
Byte 数据类型
Byte 变量存储为单精度型、⽆符号整型、8 位(1个字节)的数值形式,范围在 0 ⾄ 255 之间。
Byte 数据类型在存储⼆进制数据时很有⽤。
Currency 数据类型
Currency 变量存储为 64 位(8 个字节)整型的数值形式,然后除以 10,000 给出⼀个定点数,其⼩数点左边有 15 位数字,右边有 4位数字。这种表⽰法的范围可以从 -922,337,203,685,477.5808 到 922,337,203,685,477.5807。Currency 的类型声明字符为at 号 (@)。
Currency 数据类型在货币计算与定点计算中很有⽤,在这种场合精度特别重要。
Date 数据类型
Date 变量存储为 IEEE 64 位(8 个字节)浮点数值形式,其可以表⽰的⽇期范围从 100 年 1 ⽉ 1 ⽇到 9999 年 12 ⽉ 31 ⽇,⽽时间可以从 0:00:00 到 23:59:59。任何可辨认的⽂本⽇期都可以赋值给 Date 变量。⽇期⽂字须以数字符号 (#) 扩起来,例如,#January 1, 1993# 或 #1 Jan 93#。
Date 变量会根据计算机中的短⽇期格式来显⽰。时间则根据计算机的时间格式(12 或 24 ⼩时制)来显⽰。
当其他的数值类型要转换为 Date 型时,⼩数点左边的值表⽰⽇期信息,⽽⼩数点右边的值则表⽰时间。午夜为 0 ⽽中午为 0.5。负整数表⽰ 1899 年 12 ⽉ 30 ⽇之前的⽇期。
Decimal 数据类型
Decimal 变量存储为 96 位(12 个字节)带符号的整型形式,并除以⼀个 10 的幂数。这个变⽐因⼦决定了⼩数点右⾯的数字位数,其范围从 0 到 28。变⽐因⼦为 0(没有⼩数位)的情形下,最⼤的可能值为 +/-79,228,162,514,264,337,593,543,950,335。⽽在有28 个⼩数位的情况下,最⼤值为 +/-7.9228162514264337593543950335,⽽最⼩的⾮零值为 +/-
0.0000000000000000000000000001。
注意 此时,Decimal 数据类型只能在 Variant中使⽤,也就是说,不能声明⼀变量为 Decimal 的类型。不过可⽤ Cdec 函数,创建⼀个⼦类型为 Decimal 的 Variant。
Double 数据类型
Double(双精度浮点型)变量存储为 IEEE 64 位(8 个字节)浮点数值的形式,它的范围在负数的时候是从 -
1.79769313486231E308 到 -4.94065645841247E-324,⽽正数的时候是从 4.94065645841247E-324 到
1.79769313486232E308。Double 的类型声明字符是数字符号 (#)。
Integer 数据类型
Integer 变量存储为 16位(2 个字节)的数值形式,其范围为 -32,768 到 32,767 之间。Integer 的类型声明字符是百分⽐符号 (%)。
也可以⽤ Integer 变量来表⽰枚举值。枚举值可包含⼀个有限集合,该集合包含的元素都是唯⼀的整数,每⼀个整数都在它使⽤时的上下⽂当中有其特殊意义。枚举值为在已知数量的选项中做出选择提供了⼀种⽅便的⽅法,例如,black = 0,white = 1 等等。较好的编程作法是使⽤ Const 语句将每个枚举值定义成常数。
Long 数据类型
Long(长整型)变量存储为 32 位(4 个字节)有符号的数值形式,其范围从 -2,147,483,648 到 2,147,483,647。Long 的类型声明字符为和号 (&)。
LongLong 数据类型
LongLong(LongLong 整型)变量的存储形式为有符号的 64 位(8 字节)数,其值的范围为 -9,223,372,036,854,775,808 到
9,223,372,036,854,775,807。LongLong 的类型声明字符为脱字符 (^)。LongLong 只是 64 位平台上的有效声明类型。
LongPtr 数据类型
LongPtr(32 位系统上为 整型,64 位系统上为 整型)变量在不同系统上存储形式不同:在 32 位系统上,为有符号的 32 位(4 字节)数,其值的范围为 -2,147,483,648 到 2,147,483,647;在 64 位系统上,为有符号的 64 位(8 字节)数,其值的范围为 -
9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。
decimal是整数数据类型注意: 不是⼀个真实的数据类型,因为在 32 位环境中,它转变为 ;在 64 位环境中,它转变为 。使⽤ LongPtr 可以编写能同时在 32位和 64 位环境中运⾏的可移植代码。LongPtr ⽤于指针和句柄。
Object 数据类型
Object 变量存储为 32 位(4 个字节)的地址形式,其为对象的引⽤。利⽤ Set 语句,声明为 Object 的变量可以赋值为任何对象的引⽤。
注意 虽然以 Object 类型声明的变量⾜以适应包含对各种对象的引⽤,但是绑定到变量引⽤的对象总是在晚期(运⾏时)绑定。要强迫在早期(编译时间)绑定的话,须将对象的引⽤赋值给⽤特定类名称声明的变量。
Single 数据类型
Single(单精度浮点型)变量存储为 IEEE 32 位(4 个字节)浮点数值的形式,它的范围在负数的时候是从 -3.402823E38 到 -
1.401298E-45,⽽在正数的时候是从 1.401298E-45 到 3.402823E38。Single 的类型声明字符为感叹号 (!)。
String 数据类型
字符串有两种:变长与定长的字符串。
变长字符串最多可包含⼤约 20 亿 ( 2^31)个字符。
定长字符串可包含 1 到⼤约 64K ( 2^16 ) 个字符。
注意 Public 定长字符串不能在类模块中使⽤。
String 之字符码的范围是 0 到 255。字符集的前 128 个字符(0 到 127)对应于标准的 U.S. 键盘上的字符与符号。这前 128 个字符与 ASCII 字符集中所定义的相同。后 128 个字符(128 到 255)则代表特殊字符,例如国际字符,重⾳符号,货币符号及分数。String 的类型声明字符为美元号 ($)。
VBA中字符串⽤双引号包含,如“A”.
⽤户定义数据类型
可以是任何⽤ Type 语句定义的数据类型。⽤户⾃定义类型可包含⼀个或多个某种数据类型的数据元素、数组或⼀个先前定义的⽤户⾃定义类型。例如:
Type MyType
MyName As String    '定义字符串变量存储⼀个名字。
MyBirthDate As Date    '定义⽇期变量存储⼀个⽣⽇。
MySex As Integer    '定义整型变量存储性别
End Type                '(0 为⼥,1 为男)
Variant 数据类型
Variant 数据类型是所有没被显式声明(⽤如 Dim、Private、Public 或 Static等语句)为其他类型变量的数据类型。Variant 数据类型并没有类型声明字符。
Variant 是⼀种特殊的数据类型,除了定长 String 数据及⽤户定义类型外,可以包含任何种类的数据。
Variant 也可以包含 Empty、Error、Nothing 及 Null等特殊值。可以⽤ VarType 函数或 TypeName 函数来决定如何处理 Variant 中的数据。
数值数据可以是任何整型或实型数,负数时范围从
-1.797693134862315E308 到 -4.94066E-324,正数时则从 4.94066E-324 到 1.797693134862315E308。通常,数值Variant 数据保持为其 Variant 中原来的数据类型。例如,如果把⼀个 Integer赋值给 Variant,则接下来的运算会把此 Variant 当成Integer 来处理。然⽽,如果算术运数针对含 Byte、Integer、Long 或 Single 之⼀的Variant 执⾏,并当结果超过原来数据类型的正常范围时,则在 Variant 中的结果会提升到较⼤的数据类型。如 Byte 则提升到 Integer,Integer 则提升到 Long,⽽ Long和Single 则提升为 Double。当 Variant 变量中有 Currency、Decimal 及 Double 值超过它们各⾃的范围时,会发⽣错误。
可以⽤ Variant 数据类型来替换任何数据类型,这样会更有适应性。如果 Variant 变量的内容是数字,它可以⽤字符串来表⽰数字或是⽤它实际的值来表⽰,这将由上下⽂来决定,例如:
Dim MyVar As Variant
MyVar = 98052
在前⾯的例⼦中,MyVar 内有⼀实际值为 98052 的数值。像期望的那样,算术运算⼦可以对 Variant 变量运算,其中包含数值或能被解释为数值的字符串数据。如果⽤ + 运算⼦来将 MyVar 与其他含有数字的 Variant 或数值类型的变量相加,结果便是⼀算术和。
Empty 值⽤来标记尚未初始化(给定初始值)的 Variant 变量。内含 Empty 的 Variant 在数值的上下⽂中表⽰ 0,如果是⽤在字符串的上下⽂中则表⽰零长度的字符串 ("")。
不应将 Empty 与 Null 弄混。Null 是表⽰ Variant 变量确实含有⼀个⽆效数据。
在 Variant 中,Error 是⽤来指⽰在过程中出现错误时的特殊值。然⽽,不像对其他种类的错误那样,程序并不产⽣普通的应⽤程序级的错误处理。这可以让程序员,或应⽤程序本⾝,根据此错误值采取另外的⾏动。可以⽤ CVErr 函数将实数转换为错误值来产⽣ Error 值。
source:VBA Help

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。