了解变量和变量的作用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

理解变量和变量的作用

4.1 代码存在的位置:模块

VBA代码必须存放在某个位置,这个地方就是模块。有两种基本类型的模块:标准模块和类模块。模块中的每个过程或者是函数过程,或者是子程序概念.本课的最后部分将讨论函数过程和子程序的区别。

新术语:

模块:它是作为一个单元保存在一起的VBA定义和过程的集合。

类模块:VBA允许你创建自己的对象,对象的定义包含在类模块中。

你的大部分工作集中在标准模块中(简称为模块)当录制宏时如果不存在模块,EXCEL自动创建一个。EXCEL和VBA不关心代码存放在哪一个模块中,只要代码存在于打开的工作簿中即可。

4.2 对模块的概览

过程被定义为VBA代码的一个单元,过程中包括一系列用于执行某个任务或是进行某种计算的语句。工作簿的每个过程都有唯一的名字加以区分。

有两种不同的过程:子程序和函数过程。子程序只执行一个或多个操作,而不返回数值。当录制完宏查看代码时,所看到的就是子程序。宏只能录制子程序,而不能录制函数过程。一个子程序的例子如清单4-1所示。

程序清单4-1 子程序的例子

Sub cmdSmallFont_Click()

With Selection.Font

.Name="Arial"

.FontStyle="Regular"

.Size=16

End With

End sub

上面列出的过程实际上是一个事件过程。通过它的名字,就可以知道这是一个事件过程。这个过程的名字是由一个对象的名字CmdSmallFont和一个事件的名字Click 组成的,两者之间用下划线分开。如果还不明白,可以告诉你,CmdSmallFont是一个命令按钮的名字。也就是说,当单击这个命令按钮时,就会运行这个事件过程。

函数过程通常情况下称为函数,要返回一个数值。这个数值通常是计算的结果或是测试的结果,例如False 或True.正如前面所说,可以用VBA创建自定义函数。实际上可以在工作表上使用你创建的函数。程序清单4-2是一个计算价格的10%为运费的简单例子。

程序清单4-2 简单的用户定义函数示例。

Public Function Shipping(Price)

Shipping = Price * 0.1

End Function

请注意,这个函数使用一个参数(Price).子程序和函数都可以使用参数。不论Price的值是多少,它都将决定运费额。Price可以是数字和单元格引用。函数返回计算出来的运费,这个函数可以用在单元格中。

A B

1 Price 100

2 Shipping =shipping(B1)

4.2.1 创建过程

创建第一个过程需要两个基本步骤。首先,需要向工作簿中添加一个模块。接着需要向模块中添加一个工程。对于创建的每一个应用程序,只需添加一次模块。可以使用多个模块,但这是不必要的。某些开发者喜欢使用多个模块,以便根据他们的目的或者窗体对过程进行组织。在本练习中,创建的过程只显示一个消息框。

在本练习中创建的过程只显示一个消息框。在本练习中使用Msgbox是为了提供一个可见的例子,虽然我们还没有介绍过Msgbox语句,但是在本例中将使用它。要创建该过程,请按如下步骤进行:

1)打开一个新工作簿。

2)选择"工具"-"宏"-"Visual Basic编辑器",打开VBA编辑器窗口。

3)在`VBA编辑器的左面,可以看到“工程资源管理器”窗口。在工程资源管理器窗口的“Thisworkbook"上单击鼠标右键,选择“插入”-“模块”,这样就将一个模块添加到应用程序中了。(如果你没有看见“工程资源管理器”窗口,可以按Ctrl+R) 4)选择“插入”“过程”,显示“添加过程”对话框。

5)输入“第一个工程”作为过程名字。在“类型”分组框中,确认选择了“子程序”。单击“确定”按钮。这样一个新的过程就添加到模块中了。可以在模块中看到以 Public Sub 第一个过程()开始,以End Sub结束的语句结构。

6)在过程中插入光标,输入以下语句并回车:

Msgbox "这是我的第一个过程"

在输入Msgbox后,会自动弹出一个消息框告诉你有关这条命令的信息,称之为自动列表技术。输入完成的过程如下所示:

Public Sub 第一个过程()

Msgbox "这是我的第一个过程"

End Sub

VBA对子程序和函数有如下的命名规则:

* 名字中可以包含字母数字和下划线。

* 名字中不能包含空格句号惊叹号,也不能包含字符@ & $ #.

* 名字最多可以包含255个字符。

4.2.2 运行宏

创建这个过程后,可以运行一下。运行一个过程有几种方法:可以直接使用“运行”菜单,“运行子程序/用户窗体”工具栏按钮或按下F5键。要运行一个过程,可以按照如下步骤:

1)单击“运行子程序/用户窗体”工具栏按钮,过程执行并显示一个消息框。

2)单击消息框之中的“确定”按钮,关闭该消息框。

4.3 保存对模块所做的改变

要保存新过程,需要保存过程所驻留的工作簿.可以用VBA编辑器保存工作簿.具体步骤如下:

1)选择"文件"-"保存工作簿".因为本工作簿还没有保存过,所以要给它命名.

2)输入"HOUR4"作为文件名并按回车键,则工作簿和模块与过程都保存下来了.

4.4 变量

变量是用于临时保存数值的地方.每次应用程序运行时,变量可能包含不同的数值,而在程序运行时,变量的数值可以改变.

为了说明为什么需要变量,可以按照如下步骤创建一个简单的过程:

1)创建一个名为"你叫什么名字"的过程.

2)在过程中输入如下代码:

Inputbox "输入你的名字:"

现在不要担心inputbox语句的语法,将在第六学时中了解到有关这条命令的更多信息.

3)按下F5键运行过程,这时会显示一个输入框,要求输入你的名字.

4)输入你的名字并按"确定"按钮,则结束该过程.

你输入的名字到那里去了?如何找到用户在输入框中输入的信息?在这种情况下,需要使用变量来存储用户输入的结果.

4.4.1 变量的数据类型

使用变量的第一步是了解变量的数据类型.变量的数据类型控制变量允许保存何种类型的数据.表4-1列出了VBA支持的数据类型,还列出了各种类型的变量所需要的存储空间和能够存储的数值范围.

数据类型存储空间数值范围

Byte1字节0 - 255

Booleam2字节True或者False

Integer2字节-32768 - 32767

Long(长整型)4字节-2147483648 - 2147483647

Single4字节负值范围:

-3.402823E38 - -1.401298E-45正值范围:

1.401298E-45 - 3.402823E38

Double8字节

负值范围:-1.79769313486232E308 -

-494065645841247E-324

相关文档
最新文档