- 1、本文档共128页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
参数传递 指主调过程的实参传递给被调过程的形参。 1. 传址与传值 传址: 形参得到的是实参的地址,当形参值的改变同时也改变实参的值。 传值: 形参得到的是实参的值,形参值的改变不会影响实参的值。 例题:两个变量的交换。 Sub Swap1(ByVal x%, ByVal y%) t% = x: x = y: y = t End Sub Private Sub Command1_Click() a% = 10: b% = 20: Swap1 a, b 传值 Print A1=; a, B1=; b a = 10: b = 20: Swap2 a, b 传址 Print A2=; a, B2=; b End Sub Sub Swap2(x%, y%) t% = x: x = y: y = t End Sub 11.5 VBA调试 11.5.1 错误类型 1.程序编制过程中,常见的错误主要有: 2.语法错误 3.运行错误 4.逻辑错误 11.5.2 错误处理 1.设置错误陷阱 2.编写错误处理代码 * 在后续学习InputBox、MsgBox函数时,会用到VbOkOnly、VbOkCancel、VbOk、VbCancel、VbYesNo、VbYes、VbNo等一系列内部常量。 在设置控件的前景色、背景色等颜色属性时,会用到VbRed、VbYellow、VbBlue等一系列内部常量。 * 提高程序可读性,2 使程序易于修改 ,3减少出错机率 * 系统常量往往是用来给对象属性赋值的。 * 能否正确使用变量,搞清变量的作用域是非常重要的,一旦变量的作用域被确定,使用时就要特别注意它的作用范围。当程序运行时,各对象间的数据传递就是依靠变量来完成的,变量的作用范围定义不当,对象间的数据传递就将导致失败。变量的作用域是一个不可忽视的问题,特别是基于面向对象程序设计理念进行应用系统开发时尤为重要。 * “abcde”+12345??? 错误,类型不匹配 “abcdef” 12345? ??结果为“abcdef12345” false+false 结果为0(VB中True用-1表示;False用0表示。 ) false+true 结果为-1 true+true 结果为-2 例11-16 求50!的值(即1×2×3×…×50) Sub factorial50() Dim i As Integer Dim n As Double 请思考,变量类型是否可以定义为Long及为什么 n = 1 为存放乘积结果的变量赋初值 For i = 1 To 50 步长值为1,省略Step字句 n = n * i Next i Debug.Print 50的阶乘值为:; n End Sub 例11-17:求1~1000之间的偶数和。 方法一: Sub even1() Dim i As Integer Dim s As Long 请思考,变量类型是否可以定义为Integer及为什么 s = 0 为累加和变量赋初值 For i = 2 To 1000 Step 2 请思考,语句中的i=2是否可以改为i=0或者i=1 s = s + 1 Next i Debug.Print 1~1000之间的偶数和为:; s End Sub 方法二: Sub even2() Dim i As Integer Dim s As Long请思考,变量类型是否可以定义为Integer及为什么 s = 0 为累加和变量赋初值 For i = 1 To 1000 If i Mod 2 = 0 Then s = s + 1 Next i Debug.Print 1~1000之间的偶数和为:; s End Sub 说明:If i Mod 2 = 0 Then s = s + 1等效于If i/2=Int(i/2) Then s=s+i, 或者If i/2=i\2 Then s=s+i 例11-18 输入任意10个整数,并把这10个整数按从大到小的顺序输出。 分析:采用冒泡法算法,见pp230 建立窗体: 程序代码: 调试图: 冒泡法排序(递减) 算法思想:(将相邻两个数比较,大的调到前头) 1. 有n个数(存放在数组a(n)中),第一趟将每相邻两个数比较,大的调到前头,经n-1次两两相邻比较后,最小的数已“沉底”,放在最后一个位
您可能关注的文档
- 第三章地质构造及其对工程的影响-11年3月 3.ppt
- 第三章第七讲习题课.ppt
- 第三章第三节税收征收管理法律制度.ppt
- 神经外科管道的护理[精品].ppt
- 第三章电力系统三相短路的实用计算.ppt
- 神经外科护理(精品).ppt
- 第三章短路电流1.ppt
- 第三章短路电流及其计算.ppt
- 第三章多媒体技术.ppt
- 第三章二购买.ppt
- 人工智能视角下区域教育评价改革利益相关者协调研究——以均衡发展为目标的应用实践教学研究课题报告.docx
- 《金融科技在消费金融领域的应用:基于金融科技伦理的监管策略》教学研究课题报告.docx
- 智能法律服务2025年法律科技人才培养需求分析报告.docx
- 《智能安防视频监控中的行为分析技术在智能工厂安全监控中的应用》教学研究课题报告.docx
- 智能电网背景下2025年数据中心绿色认证体系构建与优化.docx
- 智能电网背景下2025年储能技术产业政策与市场分析报告.docx
- 智能网联汽车2025年智能网联汽车车联网信息安全与监管报告.docx
- 智能监管2025剧本杀行业,内容技术革新分析报告.docx
- 智能穿戴设备用户付费意愿与市场前景研究报告.docx
- 初中化学家庭实验课程资源开发:以实验探究能力培养为核心教学研究课题报告.docx
文档评论(0)