- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
宋翔精品 Office 电子书系列——WOHOME 论坛:
第2章 VBA 在函数方面的应用
在第 21 章中曾经提到过,可以在 VBA 中创建的两种过程——子过程和函数过程。在
前面的例子中,我们创建和使用的都是子过程,它通常都可以完成某一种功能。而函数过
程则是为了完成某种计算,并返回一个计算结果。在 VBA 中创建的函数过程不但可以在V
BA 中使用,而且还可以像其他 Excel 内置工作表函数一样,在工作表的公式中使用。本
章将重点介绍创建自定义函数并在工作表公式中使用的方法。
2.1 了解函数过程中的参数
在 Excel 工作表公式中使用不同的函数时,通常都需要输入函数的参数,然后函数才
能得出正确结果。当然,有极少一部分函数不需要参数,例如时间函数Now ,在单元格中
输入“=Now() ”并按【Enter 】键后,将得到当前的时间。
在 VBA 中编写自定义函数时,也要根据函数的功能为自定义函数设计不定数量的参
数,以便在使用中用户可以给函数参数赋值而获得想要的结果。本节将介绍自定义函数参
数的几种类型。
2.1.1 不使用参数的函数
自定义函数可以不使用任何参数,这通常在需要通过自定义函数返回一个信息时使用。
例如,下面的自定义函数返回当前工作簿的路径,它不需要使用任何参数:
Function GetPath()
GetPath = ActiveWorkbook.FullName
End Function
当在单元格中输入“=GetPath() ”并按【Enter 】键后,将在单元格中显示当前工作簿的
路径,如图 2-1所示。当在单元格输入等号“= ”后,可以通过Excel 2007 的自动完成功能
在列表中找到自定义函数。
图2-1 使用无参数函数返回工作簿路径
29
宋翔精品 Office 电子书系列——WOHOME 论坛:
提示:与Excel 内置的工作表函数一样,即使自定义函数不使用参数,但是在输入函
数时也要包含一对圆括号。
2.1.2 使用有—个参数的函数
有时可能需要通过给定一个数值来获得结果。例如,在使用 Excel 的工作表函数 ABS
时,通过给定一个数字,返回它的绝对值。那么在自定义函数时,也可以为函数设置一个
参数,在公式中使用自定义函数时,也要输入一个参数,才能得出正确结果。
例如,下面的自定义函数通过用户输入一个数字,来求得该数字的阶乘:
Function CountF(Num)
Dim i As Integer
Dim Total As Long
Total = 1
For i = 1 To Num
Total = Total * i
Next i
CountF = Total
End Function
在工作表中输入该函数时,要求输入一个参数,例如,输入“=CountF(5) ”,按【Ente
r 】键后,将得到给定参数值的阶乘,如图2-2所示。
图2-2 使用一个参数的函数计算数字的阶乘
2.1.3 使用多个参数的函数
如果需要参与计算的条件较多,一个参数不够用时,那么可以在自定义函数中设置多
个参数。例如,可以创建一个自定义函数,根据给定的商品单价和销售数量,计算员工的
销售提成金额。当销售额小于 20000 时,以销售额的 6作为提成金额;当销售额在 20001
到 40000 之间时,以销售额的 8作为提成金额;如果销售额大于 40000 ,那么以销售额的
10%作为提成金额。下面的自定义函数正是用来计算这种提成方法的:
Function GetBonus(UPrice, Amount)
30
宋翔精品 Office 电子书系列——WOHOME 论坛:
Dim Total As Long
Total = UPrice * Amount
Select Case Total
Cas
您可能关注的文档
- 高中英语短语总结.ppt
- 《计量插座表使用说明书》(深圳北电).pdf
- 民诉五卷本修订说明(加颜色区分版).pdf
- 基于MSP430微处理器的剩余电压测量装置的研制.pdf
- 新概念英语青少版5B.doc
- 国际音标(IPA)&KK音标对照表详细可打印附加版.pdf
- 新品上市计划书.ppt
- 德语发音规则.pdf
- 中国外交政策和国际关系常用词汇【英文】.doc
- 市场营销案例教学的实施模式基于MBA和本科教学比较的视角.pdf
- 2022年2月淄博市税务系统遴选面试真题回忆版.docx
- 2022年11月潼南县直机关遴选公务员面试真题附带题目详解.docx
- 2022年11月滨州市税务系统遴选面试真题回忆版.docx
- 2022年2月昌吉州税务系统遴选面试真题附详细解析.docx
- 2022年11月文山州直机关遴选公务员面试真题带详解.docx
- 2022年11月随州市直遴选面试真题回忆版.docx
- 2022年2月汕尾市税务系统遴选面试真题回忆版汇总.docx
- 2022年2月怀化市税务系统遴选面试真题回忆版.docx
- 2022年11月济南市税务系统遴选面试真题附带题目详解.docx
- 2022年2月崇左市税务系统遴选面试真题回忆版.docx
文档评论(0)