Excel VBA编程 定义Sub过程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Excel VBA编程定义Sub过程
如果几个不同的事件过程要执行同样的动作,可以将公共语句定义为Sub过程,由事件来调用它,这样可以避免代码的重复,也容易维护应用程序。
通过以下方法可以实现定义SUB过程。
1.利用菜单定义过程
打开VBE窗口,在该窗口中打开需要建立过程的【代码】编辑窗口,然后执行【插入】|【过程】命令,弹出【添加过程】对话框,,如图8-1所示。
在该对话框中的【名称】文本框中输入需要添加的过程名称,单击【确定】按钮,即可添加过程。
图8-1 【添加过程】对话框
其中,在该对话框中包括以下选项,如下表8-1所示。
表8-1 对话框中的选项
2.在代码窗口中直接定义
在窗体或标准模块的代码窗口中把插入点移到现有过程之外,直接输入过程的全部信息。
Sub 过程是包含在Sub 和End Sub 语句之间的一组语句,执行操作但不返回值。
Sub 过程可以使用参数(由调用过程传递的常数、变量或表达式)。
如果Sub 过程无任何参数,则Sub语句必须包含空括号()。
格式:[Public | Private | Friend][Static] sub过程名[(参数列表)]
<语句>
[Exit Sub]
<语句>
End Sub
其中,在该格式中,包含以下几项内容:
●过程名
即过程的名称,用于过程之间的区分。
其命名规则与变量命名规则相同。
要注意的是该名称不能与系统中的关键字或同一级别的变量重名。
●参数列表形式
该参数列表是在调用时要传递给Sub过程的参数的变量列表,语法如下。
格式:
[Optional] [ByVal | ByRef] [ParamArray] 变量名[( )] [As 类型] [= 默认值]
在该语法中各个部分意义如表8-2所示。
表8-2 参数列表
例如,
编写一个
过程,使输入的两个参数可以交换。
Public Sub 交换(x, y)
Dim a
'参数x 赋值给变量a
a = x
'参数交换,x 等于y
x = y
'参数交换,a 等于y
y = a
End Sub
提 示 SUB 过程可以是递归的,也就是说,该过程可以调用自己来完成某个特定的任务。
不过,递归可能会导致堆栈上溢。
通常Static 关键字和递归的SUB 过程不在一起使用。