应用思考-教育技术论坛

标题: VBA中声明变量的方法 [打印本页]

作者: etthink    时间: 2021-11-30 17:41
标题: VBA中声明变量的方法
在VBA中有两种变量,一 种是普通变量,用来存储数据,一种是对象变量,用来引用指向对象。普通变量使用方法如下

使用关键字Dim来声明变量,Dim代表“Dimension”。
关键字Dim后面紧跟变量名称,再后面就是数据类型。假设你想让过程显示员工的年龄,你计算年龄之前,必须给过程提供员工的生日。
你可以这样做,声明一个叫DateOfBirth的变量:

Dim DateOfBirth As Date

注意,关键字Dim之后是变量名称(DateOfBirth)。如果你不喜欢这个名称,你可以自由地改为其它的,只有你想用的名称不是VBA关键字之一就行。关键字As以及后面内容明确了该变量的数据类型。数据类型Date告诉VB变量DateOfBirth将会储存日期。

要储存员工的年龄,按下面方式声明变量Age:

Dim Age As Integer

变量Age将会储存今天和该员工生日之间年数的数字。因为年龄显示为整年,所以变量Age就被分配为Integer数据类型。
你可能还想要你的程序追踪员工的姓名,因此需要声明另一个变量来保存员工的名和姓:

Dim FullName As String

因为词语“Name”已经在VBA是保留的关键词,在你的VBA程序里使用会产生错误。将变量命名为FullName并且将它声明为String类型(因为员工姓名是文本),来保存员工姓名。

技巧: 隐式声明变量
没有用Dim语句来明确声明的变量叫做隐式声明。这些变量自动会被分配一个数据类型Variant。它们可以保存数字,字符串和其它信息类型。你可以通过在你VBA程序的任何地方,简单地赋值给一个变量名称来创建一个变量。例如,你可以按下述方式来隐式声明变量:DaysLeft = 100
声明变量被认为是编程的好习惯,因为它使程序可读性增强并且帮助避免某些类型的错误。既然你已经知道了如何声明变量,我们就来看一下使用它的一个程序:

Sub AgeCalc( )
             ‘variable declaration (变量声明)
             Dim FullName As String
             Dim DateOfBirth As Date
             Dim Age As Integer
             'assign values to variables (赋值给变量)
             FullName = "John Smith"
             DateOfBirth = #01/03/1967#
             'calculate age (计算年龄)
             Age = Year(Now())-Year(DateOfBirth)
             'print results to the Immediate window (在立即窗口里打印结果)
             Debug.Print FullName & " is " & Age & " years old."
End Sub






欢迎光临 应用思考-教育技术论坛 (http://etthink.com/) Powered by Discuz! X3.4