深入解析数据类型与变量

一、数据类型

数据类型是指数据以何种方式储存在内存中。

a)        VBA的数据类型

数据类型         存储空间大小                   范围

Byte                             1个字节                    0-255

Boolean                      2个字节                    true或false

Integer                       2个字节                    -32768-32767

Long                                      4个字节                    很大

Single(单精度浮点型)     4个字节           很大

Double(双精度浮点型)   8个字节           很大

Currency(变比整型)        8个字节           很大

Decimal                               14个字节        很大

Date                                               8                          日期类型

Object                                  4                          任何Object调用

String(变长)                        10                       0-40亿

String(定长)                        字符串长度     很大

Variant(数字)                     16              最大达到Double

Variant(字符)                     22+字符串长度       与变长String相同范围

b)        数据类型的声明和转换

数据类型不区分大小写。如果不指定类型  默认类型指定为variant变体量

声明:Dim a as Byte     Dim i

转换:TypeName(值)  返回指定的类型名

类型转化的函数列表

函数                   返回类型                   参数范围

CBool                 Bollean                       任何有效的字符串数值表达式

CByte                 Byte                             0-255

CCur                            Currency                    很大

CDate                Date                                     任何有效日期表达式

CDbl                            Double                        很大

CDec                  Decimal                      很大

CInt                    Integer                       小数部分四舍五入

CLng                            logn                             很大

CSng                            Single                          很大

CStr                    String                          依据expression参数返回CStr

CVar                            Variant                        若为数值,为Double,若不为数值,则为String

二、常量与变量

a)        常量声明

[public | private] Const 变量名 [As type] =

Public 可选  该关键字用于在模块级别中声明在所有模块中对所有过程都可以使用的常量,在过程中声明常量不能使用public

Private     可选         该关键字用于在模块级声明智能在包含该声明的模块中使用的常数,不能在过程中使用

值是必须的

b)        变量声明

声明方式:Dim public private Static

Dim [WithEvents]  变量名[([subscripts])][As [New] type], [WithEvents] 变量名[([subscripts])] [As [New] type]

Dim参数说明

WithEvents 可选的,声明变量名是一个用来相应右Activex对象触发的事件的对象变量,只有在类模块中才是合法的

Subscripts         可选,数据变量的维数,最多可定义60维的多维数组

New                  可选,可隐式的创建对象的关键字,如何使用New来声明对象变量,则在第一次引用该变量时将新建该对象的实例,银次不必使用Set语句来给该对象引用赋值。New关键字不能与WithEvents一起使用

c)        区分静态变量和动态变量

动态变量则声明是Dim 变量名 as      type

静态变量则声明是static 变量名        as type

静态不变。等模块复位或重新启动。 动态则可在过程结束后释放其值

d)        变量的作用域和生命周期

                        i.             变量的作用域

作用域                       声明方式

当前过程                   Dim或static声明

当前模块                   本模块内第一个过程前用Dim或者private声明

所有模块                   在模块中第一个过程前用public声明

                      ii.             对象变量

Let方法                     用于对对象以的变量赋值     是可选参数,可省略

Set方法                     对对象变量进行赋值     必选参数

如果为对象变量赋null

Set A=nothing

例如:

ActieWorkbook.Sheets(“Sheet2”).Range(“A10”).Font.Name=”黑体”

可改为

Dim rng As Range

Set rng= ActieWorkbook.Sheets(“Sheet2”).Range(“A10”)

Rng.Font.Name=”黑体”

                     iii.             数组

声明方式与其他变量一样,可以使用Dim public private Static         数组通常需要指定大小,数组的大小被指定后,则是个固定大小数组,若程序运行时数组的大小可以改变,则它是个动态数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值