Excel Home免费在线培训---VBA中级班(11206班)课时1学习小结&成果展示

学员:giant888

课程内容 声名变量,代码结构和常用运算符
发布版面 11206 课时
讲师 清风_ll 助教 hustnzj、wyf22006

本课时内容:

  • 变量的命名规则
  • 声明变量
  • 变量的作用域

一、变量的命名规则

1、理解变量

(1)、什么是变量?

变量是一个命名的内存位置。是在程序或代码运行过程中,用于临时存储数据,并且其存储的数据可以根据需要发生改变的一个命名项目。

(2)、变量是由名称(变量名)和数据类型指定

变量名——用来引用变量

数据类型——确定变量所能存储信息的种类以及所占存储空间的大小。

2、变量的命名规则

(1)、名称是由字母(A~Z、a~z)或数字和下划线的任意组合(在中文版中也可以包含中文)

(2)、名称的第一个字符只能是字母(在中文版中也可以是中文)

(3)、不能使用系统保留字(如If、End、For、Dim等)

(4)、名字最长不超过255个字符(所以应该尽量让名称有明确的意义)

注意:变量名不区分大小写。

二、声明变量

1、显式声明

(1)、先声明,后使用

(2)、声明格式:Dim <变量名> [As 数据类型]

数据类型可以省略,省略后为默认的变体型变量

(3)、示例:

‘声明字符串变量UserName

Dim UserName As String

‘声明整型变量iCount

Dim iCount As Integer

‘声明变体型变量Arr

Dim Arr

Dim Arr As Variant

(4)、使用类型声明符

① 使用一个特殊的符号附加在变量名后,代表某种数据类型

‘声明字符串变量UserName

Dim UserName$

‘声明整型变量iCount

Dim iCount%

② 类型声明符

数据类型

类型声明符

字符串型(String)

$

整型(Integer)

%

长整型(Long)

&

单精度浮点型(Single)

!

双精度浮点型(Double)

#

货币型(Currency)

@

(5)、在一条语句中同时声明多个变量

声明格式:

Dim <变量名1> [As 数据类型], <变量名2> [As 数据类型]……

示例:

Dim UserName As String,iCount As Integer,Arr

注意:

每个变量的数据类型必须单独指定,未指定数据类型的变量均被指定为变体型。

如:Dim i,j As Integer  ‘i为变体型,j为整型

(5)、其它声明关键字

Public: 声明公共模块级别变量

Private:声明私有模块级别变量

Static: 声明公共模块级别变量

2、隐式声明

(1)、不先声明,直接使用

(2)、所有隐式声明的变量都为变体型(Variant)变量

Sub Test()

r=Range(“A1”).Value

Debug.Print r

End Sub

(3)、只有过程级别的局部变量才能使用隐式声明,公共模块级别、私有模块级别和静态变量没有隐式声明方式。

(4)、要求变量声明:Option Explitic

① 要求语句所在模块中的所有变量都必须显式声明

② VBE窗口中“工具”→“选项”中的“要求变量声明”

 

三、变量的作用域

1、过程级别变量(局部变量)

通过Dim或Static关键字在过程内声明,只有过程内部的代码才能访问或改变的变量。

其中使用Static关键字声明的变量称为静态变量,在整个程序运行期间都是存在的。

而使用Dim声明或隐式声明的局部变量仅在过程执行期间才存在,在过程结束之前就被释放掉。

2、私有模块级别变量(模块级变量)

在模块的声明部分通过Private或Dim关键字声明。本模块中的所有过程都可访问或改变的变量。

3、公共模块级别变量(全局变量)

在模块的声明部分通过Public关键字声明,工程中的所有过程都可访问或改变的变量。

4、变量引用需知

(1)、在其他模块中引用窗体级模块(包括用户窗体模块、工作表模块、工作簿模块)中的公共模块级别变量,需要指定模块名称,如使用UserForm1.X引用用户窗体UserForm1模块中公共模块级别变量X,使用Sheet1.X引用工作表Sheet模块中的公共模块级别变量X。

(2)、不同模块中可以使用同名的公共模块级别变量。在这种情况下引用变量时需要指定模块名称来限定所使用的变量。

(3)、公共模块级别变量与过程级别变量可以同名,在过程内部引用的为过程级别变量,如果需要引用公共模块级别变量时,应指定相应模块名称。

‘本示例演示Dim声明的局部变量和Static声明的静态变量的区别

‘Dim声明的局部变量仅在过程执行期间存在,过程结束时释放,每次都要初始化

‘Static声明的静态变量,在整个程序执行过程中都存在

Sub Demo1()

Dim X1 As Integer ‘声明一个整型局部变量X1

Static X2 As Integer ‘声明一个整型静态变量X2

X1=X1+1

X2=X2+1

Debug.Print “X1=”&X1, “X2=”&X2,P

End Sub

运行结果如下:

X1=1  X2=1  0

X1=1  X2=2  0

X1=1  X2=3  0

X1=1  X2=4  0

5、查看变量“定义”的快捷方式,以及“最后位置”。

四、小结

1、什么是变量,命名变量需要遵循的一些规则

2、显式声明和隐式声明两种方式,同时介绍了使用类型声明符以及在同一条语句中同时声明多个变量的方式来简化代码输入。还简单的介绍了要求变量声明的语句和选项,全字变量声明可以避免因变量名拼写出错时所引起的错误,建议初学者使用。

3、我们了解了过程级别、私有模块级别、公共模块级别的定义及其可见性,介绍了引用变量时需要了解的一些内容,知道了引用公共级别变量时指定模块名称的应用情况。在最后还通过一个例子演示的局部变量和静态变量的区别。同时,介绍了快速查看变量定义的方法。

11206-课时1-成果-giant888

11206-1-学习小结:giant888

 

我的博客地址:http://bestrsh.com/?p=840

Excel Home论坛:http://club.excelhome.net

Excel Home免费在线培训中心:http://t.excelhome.net