在编写程序时,少不了要使用变量和常量,它们都是程序中很重要的元素,是组织程序的基础 。
一个示例
下面是一个简单的VBA程序,用来计算半径为5的圆的面积 。
Sub 示例2()
Const PI = 3.1415926
Dim r As Integer
Dim area As Double
r = 5
‘ 计算半径为5的圆的面积
area = PI * r * r
End Sub
其中,r和area就是变量,PI就是常量 。
什么是变量
变量就是在计算机中根据其数据类型预先占用一个位置,在这个位置里可以放置相应的数据 。换句话说,我们要在计算机中保存数据,就要有相应的空间,变量就是用来指明这些空间的 。
我们可以将值存储在变量中,供程序使用,如下图1所示 。

图1
注意,如果将另一个值放入已经存在值的变量中,那么原值就被新值所取代 。
命名变量
在程序中,我们经常会使用多个变量 。这样,就需要给变量起不同的名字,以区分这些变量,例如图1中的r就是一个变量的名字 。
VBA规定了变量名的命名规则:
可以使用字母、数字和下划线,但必须以字母开头 。
变量名最长不可以超过255个字符 。
变量名不区分大小写 。
变量名不能与VBA保留字同名,不能与VBA中的函数、语句和方法同名 。
变量名中不能使用空格和句点 。
这就说明,我们在命名变量名称时:
不能以数字或下划线开头 。
不能在变量名中使用特殊类型的声明字符(#、$、%、&或!) 。
不能在变量名中使用运算符(+、-、*、/、<、>、、.、,、:) 。
下列字符也不能使用(?、=、”、;、`、@、^) 。
在同一作用域内不能有相同的名字 。
变量的数据类型
在前一篇中,我们过程序中的各种数据都有自已的数据类型(例如整型、字符串型、布尔型等),变量也有自已的数据类型 。
在定义变量时,通常要说明变量要存储什么数据类型的值 。也就是说,创建变量后,也决定了存储在该变量中的值的数据类型 。
例如,上面示例中的:
Dim r As Integer
Dim area As Double
定义变量时,指定变量r存放Integer型的数据,而变量area存放Double型的数据 。
说明:与很多编程语言不同,VBA比较特殊,它在定义变量时,并不一定需要声明存储在变量中的数据类型 。VBA可以自动处理运用数据时涉及到的细节,这对程序编写来说的确很省事,但你会发现,这样的程序执行的速度会更慢,使用内存的效率也不高 。如果我们在定义变量时严格指明该变量的数据类型,那么不仅能有效利用计算机空间,并且该变量在进行数据类型转换时,计算机会自动告诉你发生的问题 。
声明变量
如上所述,示例中已经给出了声明变量的方法,即使用Dim语句来对变量进行声明(或定义) 。声明变量的一般语法结构是:

图2
当然,还可以使用Public来声明一个公有变量 。正如前面所说的,你可以省略掉As及之后的数据类型来声明变量,让VBA自已处理数据,但这并不会带来多少好处 。
确切地说,当省略数据类型时,VBA会使用默认的数据类型Variant,在程序处理过程中,会根据所处理内容来改变变量的数据类型 。
说明:VBA中“古老的”声明变量的方法
VBA也延续了BASIC定义变量数据类型的方法,即将一个字符加到变量名称后面来指定变量的数据类型,例如:
Dim r%
猜你喜欢
- Excel VBA对象变量
- Excel VBA End With结构,专为对象而生
- Excel怎么轻松得到有规律的数字
- Excel VBA员工管理系统开发
- Excel VBA MsgBox函数
- Excel VBA Select Case结构
- Excel VBA解读有限次的循环
- Excel VBA对象模型
- excel函数获取重复次数最多的值
- excel函数获取重复数据出现的最大次数
