开启左侧

VBA中声明变量的方法

[复制链接]
etthink 发表于 2021-11-30 17:41:43 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
在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://www.etthink.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


11关注

448粉丝

5675帖子

会员达人更多+
广告位

最新信息

更多+

关注我们:教育技术人

官方微信

官方微博

教育技术热线:

13955453231

学教育技术,上教育技术论坛!

教育技术论坛征稿范围:教育技术应用案例、教程文章、优秀作品等。

Email:sf@etthink.com

Copyright   ©2007-2026  教育技术论坛  Powered by©Discuz!  技术支持:且行资源    ( 皖ICP备10014945号-4 )