- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chapter-11 宏与VBA程序设计
补充: VBA应用实例 概述 利用VBA宏程序可使许多工作自动化、简单化,极大地提高工作效率,而且还可以制作出操作简单的Excel应用系统,如财务管理系统、工资管理系统等。 为一些枯燥而经常重复的工作编写一些宏,能够简化工作,使某些工作自动化。 虽然第一次编写解决问题的宏要花费一些时间,但却非常值得。因它能够减省今后的重复性工作,可谓“一劳永逸”。 补充: VBA应用实例 VBA编程案例 某公司有7 000多职工,他们的工资管理系统是用VFP编写的,其中的工资数据库如图所示 补充: VBA应用实例 问题 该公司的财务管理人员在每个月末都要对本月和上月的工资数据进行统计分析,并制作出如图所示的财务报表汇报给上级管理人员,图中是2001年10和11月的工资对比情况。 补充: VBA应用实例 解题思路 编写宏将要分析的两个月的从数据库导入到Excel工作表中,并利用宏自动完成各项数据的分析,并形成报表。当每个月需要制作报表时,只需要重新运行宏,就能自动从指定位置导入两月工资,并自动得出分析报告。具体实现思路如下。 利用VFP的数据导出功能将本月和上月工资导出到两个VFP的DBF数据表中,将它们保存在某个目录中,如“C:\ApsdGZ” 目录,名字分别为“本月.dbf”和“上月.dbf” 在Excel中,以录制的方式记录两个宏,用于将“C:\ApsdGZ” 目录中的“本月.dbf”和“上月.dbf”数据表导入到EXCEL中。宏的名字分别为“本月工资”和“上月工资”。 编写宏“Sub 分析数据”分析本月工资和上月工资表中的数据,形成需要的分析数据,并保存在数组中。 补充: VBA应用实例 编写计算百分比的宏“sub 计算百分比”,用于计算两月各项数据对比后的增加百分比。 编写输出数据的宏“Sub 输出结果”,用于将保存在数组中的计算结果输出到Excel工作表中。 另外,还有一个供其它宏调用的计算人数的宏“计算人数” 各宏之间通过数组传递数据。 在一个工作表中建立调度上述宏的菜单或命令按钮。 补充: VBA应用实例 通过宏导入到Excel中的数据 补充: VBA应用实例 通过宏作出的分析报告 补充: VBA应用实例 总控工作表 The End 11.4 自定义函数 2、定义函数的注意事项 ① 函数由Function和End Function 语句所包含起来的 VBA语句。 ② Function 函数和 Sub子程序很类似,但函数有一个返回值。Function 函数必须通过表达式调用。 ③ 如果一个 Function 函数没有参数,它的 Function 语句必须包含一个空的圆括号。 ④ 在函数体中,函数名至少被赋值一次。 ⑤ 函数开头行的[As Type]用于指定函数值的返回值类型,如果省掉该定义,被视为Variant类型。 11.4 自定义函数 3、【例11.3】 编写一个计算圆面积的简单函数,圆半径作为函数参数。 Function CircleArea(r As Single) As Single CircleArea= 3.14*r*r End Function 11.4 自定义函数 4、函数调用 函数只能在表达式中调用。在Excel中,函数至少有以下3种调用方式。 在Sub子程序中调用函数 在其他函数中调用函数 在Excel工作表单元格的公式中调用函数 11.4 自定义函数 5、自定义函数案例 假设有一个学生成绩表如图所示。现要计算其中的综合成绩,在本例中,综合成绩的计算方法为:综合成绩=考试科目×0.7+考查科目×0.3。 编写计算综合成绩的函数ss。 11.4 自定义函数 计算综合成绩的自定义函数 Function ss(ks1, ks2, kc1, kc2, s, c) ss = (ks1 + ks2) * s + (kc1 + kc2) * c End Function 该函数定义出来之后,可在编写它的任何工作表中调用,与调用Excel内置函数无任何差别。比如,在上图的G5中输入公式 =ss(C5,D5,E5,F5,$E$2,$E$3) 然后把该公式向下填充复制到最后一位同学的“综合成绩”单元格,这样就可计算出所有同学的综合成绩。 11.5 VBA选择结构 1、VBA程序执行的方式 在一般情况下,一个VBA的Sub子程序和Function函数的执行都是从程序代码的第一个语句行开始,逐行运行程序代码中的语句,直到遇到End Sub或End Function来结束整个程序的执行。 有些时候,需要程序代码按一定的条件执行,当条件成立的时候,执行一部分程序代码,条件不成立的时候执行另外一部分程序代码。这种功能需要用VBA的选择结构来实现。 11.5 VB
文档评论(0)