- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第06章 编写SUB过程及开发函数
VBA的主体结构就是过程。VBA包括子过程、函数过程和属性过程三种,本书主要介绍子过程(也称Sub过程)和函数过程(也称Function过程)。
本章要点
认识过程
Sub过程
Function过程
关于过程参数
开发自定义函数
编写函数帮助
6.1 认识过程
VBA中每一个程序都包含过程。录制的宏是一个过程,一个自定义函数也是一个过程。掌握好单个过程的编写思路,就可以组合成一个大中型插件或者专业程序。
6.1.1 过程的分类与调用方式
过程主要分为三类:子过程、函数过程和属性过程。这三类过程的格式如下。
Sub 子过程()
……
End Sub
Function 函数过程(rng As Range)
……
End Function
Property Get 属性过程() As Variant
……
End Property
本书主要讲述Sub子过程和Function函数过程的开发。
Sub过程是VBA中应用最广的过程,录制宏所产生的过程就是Sub过程。Sub过程的执行方式包括五种。
1.【Alt+F8】执行
如果在工作表命令窗口、ThisWorkBook命令窗口或者标准模块窗口中存在Sub过程,那么在工作表界面可以通过快捷键【Alt+F8】来执行该过程。
假设在VBE界面中的Sheet1代码窗口中有一个Sub过程“汇总”,在模块1中有一个名为“新建菜单”的Sub过程,那么通过快捷键【Alt+F8】打开“宏”对话框后,将在对话框中产生两个可执行程序名,其中工作表命令窗口的Sub过程会连同工作表名一起出现在宏名列表中,而模块中的过程则仅仅列出过程名。用户选择目标程序并单击【执行】按钮即可启动Sub子过程。
2.快捷键执行
Sub过程可以与某个快捷键进行关联,在后续的使用中就可以利用这个快捷键来调用对应的过程。
设置Sub过程的快捷键主要有两种方式:利用宏对话框设置及用VBA代码指定。后者在本书其他章节将会讲述,在此演示一下“宏”对话框设置宏的快捷键的方法:
假设VB工程中有两个名为“汇总”和“新建菜单”的Sub过程,在工作表界面中按下快捷键【Alt+F8】调出图6.1所示对话框,然后选择“新建菜单”,并单击“选项”按钮,在弹出的“宏选项”对话框中指定快捷键,如图6.2所示。图中设计宏程序“新建菜单”的快捷键是【Ctrl+q】。
图6.1 “宏”对话框 图6.2 设置Sub过程的快捷键
3.按钮执行
在工作表中建一个按钮,并将按钮与Sub过程关联,从而实现单击按钮执行程序。
将按钮关联到Sub过程的步骤为:
1.单击菜单【开发工具】→【表单控件】→【按钮】;
2.在工作表中按下左键并向右下方拖动,从而绘制一个控件按钮;
3.在弹出的对话框中选择“新建菜单”,如图6.3所示;
4.返回工作表后即可单击名为“按钮1”的按钮来执行程序“新建菜单”。
图6.3 关联过程与按钮
4.菜单调用
最常见的是编写一个自定义菜单或者工具条来调用Sub过程。菜单与工具条的设计方法参见本书第19章及第20章。
5.事件引发
对于部分需要自启动的程序,通常利用事件引发,不需要人工干预。例如工作簿开启时就自动执行某程序,或者关掉窗体、鼠标移过窗体时执行某程序……
对于事件过程的运用参见本书第8章。
6.工作表中使用公式调用
Function过程即自定义函数,可以像使用内置的工作表函数一样在公式中使用。
调用Function过程的步骤如下:
1.单击菜单【插入】→【模块】;
2.在模块中录入以下代码:
Function 成绩(rng)
成绩 = IIF(rng = 60, 及格, 不及格)
End Function
3.返回工作表中,在A1输入数值50,在B1输入公式:
=成绩(A1)
可以发现公式可以像内置函数一样运行,它返回“不及格”,正是期望的结果。
6.1.2 插入过程的方式
编写过程时可以手工录入代码,也可以让利用VBA提供的列表自动产生程序外壳。
一个Sub过程分为程序外壳部分和主体部分。如图6.4所示。
图6.4 Sub过程的外壳与主体部分示意图
其中外壳部分可以手工录入,也可以利用VBE提供的方式完成。
1.非事件过程
对于非事件的Sub 过程,VBA提供了一个专用窗体来选择性录入过程的外壳。具体步骤如下:
1.在VBE界面中单击菜单【插入】→【模块】;
2.单击菜单【插入】→【过程】打开“添加过程”对话框;
3.在“名称”框中录入“汇总”,并将“类型”选择“子过程”,将“范围”设为“私有的”,如图6.5所示。然后单击“确定”按钮。
图6.5 添加Sub过程外壳图
执行以上程序后在模块中可以看到产生的代码为
您可能关注的文档
- 抢票浏览器评测教案.docx
- Orcad--2、用Capture绘制电路图方法.doc
- 宇宙物质探索现状课件.pdf
- win7系统怎样安装最新IE11浏览器.pptx
- 第八章 常见操作系统.ppt
- 第一章 CM520-8TF 全网通工业路由器技术参数.pdf
- 怎样在网络时代赢得客户忠诚.ppt
- 升级发布具体流程详解.ppt
- 通信协议 MEWTOCOL(副本).pdf
- 运用伸展树解决数列维护问题摘要.pdf
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
最近下载
- 篮球进校园方案.pdf VIP
- CESA--2023-105《算力服务可信性评估规范》.pdf
- 部编版四年级语文上册《精卫填海》教材分析及相关素材.docx VIP
- 2024年共青团知识自测题库及答案.pdf VIP
- 环环相扣PPT立体图表.ppt
- 2024-2025学年八年级英语上学期期中考试(上海卷)(含解析)(牛津上海版).pdf VIP
- 药学专业知识一.pdf
- 湖北省武汉市洪山高级中学2024-2025学年高一上学期9月考试化学试卷.docx VIP
- 2024年公共卫生与预防医学继续教育平台“大学习”活动线上培训栏目考试题库(1392题).docx
- 地方标准审评工作细则.pdf VIP
文档评论(0)