- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
自定义函数选合集代码注释.doc
自定义函数选
附代码注释
By 蓝桥玄霜
前言
我们平时在工作表单元格的公式中常常使用函数,Excel自带的常用的函数多达300多个,功能强大,丰富多彩,博大精深。在Excel内置函数和扩展函数中有十多个应用领域的函数,如数学与三角函数、统计函数、文本和数据函数、查找和引用函数、数据库函数、财务函数、日期和时间函数、信息函数、工程函数和宏表函数等等。
但是我们每个人还可能有各种各样的问题而不能直接应用这些函数得到解决,于是Excel也提供了VBA可以让我们自己编一个自定义函数来解决自己特定的需求。以下挑选一些自定义函数,由简到繁,附以代码注释,供大家参考。
第1例 折扣函数
一、题目:
要求编写一个当销售数量大于等于100时,售价打九折的计算折扣的自定义函数。
二、代码:
Function Zekou(sul, jiag) As Double
If sul=100 Then
Zekou =sul*jiag*0.1
Else
Zekou =0
EndIf
Zekou =Application.Round(Zekou,2)
End Function
三、代码详解
1、Function Zekou(sul, jiag) As Double :自定义函数的开始语句。
自定义函数总是以Function开头,以End Function语句结束。自定义函数的代码一定要放在标准模块里面。
Zekou是函数名,名字可取一个较短的描述信名称,这样容易记忆。如sul数量和jiag价格,这里用的是拼音字母。函数后括号里的两个变量叫做函数的参数。两个参数都没有显式声明数据类型,都是可变型数据类型variant。AS Double 表示函数返回值的数据类型是双精度浮点型…Then…Else判断语句,意思是如果第一个条件成立,或者说满足了第一个条件,那么执行Then以后的语句;否则执行Else以后的语句。
3、Zekou =sul*jiag*0.1 折扣=数量×价格×0.1
4、Else 否则执行下面的语句,
5、Zekou = 0 折扣=0,即数量小于100时,不打折扣。
6、Zekou =Application.Round(Zekou,2) 这里用了工作表的Round函数,返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果。进行四舍五入运算的‘返回4500.00
如图 -1所示。
图 -1 折扣函数用法
第2例 两点之间距离的自定义函数
一、题目:
要求编写已知同一平面上两点的坐标值,求两点之间距离的自定义函数。
二、代码:
Function dist(x1, y1, x2, y2)
dist = Sqr((x2 - x1) ^ 2 + (y2 - y1) ^ 2)
End Function
三、代码详解
1、Function dist(x1, y1, x2, y2) :自定义函数的开始语句。
自定义函数名称为dist,参数是两点的坐标值x1、y1、x2、y2。
2、dist = Sqr((x2 - x1) ^ 2 + (y2 - y1) ^ 2) :
这是一个求两点间距离的公式,x坐标值差的平方与y坐标值差的平方之和的平方根就是两点之间的距离。其中Sqr是VBA函数,返回一个 Double,指定参数的平方根。
‘返回156792
如图 -2所示。
图 -2 dist函数的用法
第3例 十进制角度转化为度分秒的自定义函数
一、题目:
要求编写把一个十进制的角度,转化为角的度分秒形式的自定义函数。
二、代码:
Function dfm(angle3) 度转化为度分秒
If angle3 0 Then
deg1 = -Int(Abs(angle3))
Else
deg1 = Int(angle3)
End If
min1 = (Abs(angle3) - Abs(deg1)) * 60
min2 = Int(min1)
sec1 = Int((min1 - min2) * 60)
dfm = deg1 ° min2 sec1
End Function
三、代码详解
1、Function dfm(angle3) :自定义函数的开始语句。
自定义函数名称为dfm,度分秒的拼音首字母,参数是angle3。
2、If angle3 0 Then :
如果角度小于0,那么执行下面的语句,否则执行else后面的语句。
3、deg1 = -Int(Abs(angle3)) :
这句用了两个VBA函数,先是绝对值函数Abs,对负的角度取其绝对值,然后是取整函数Int,取角度的整数,加上-(负)以后赋值给变量deg1(整数度)。这里为什么要先用绝对值函数Abs呢?因为如果直接对负数取整,
您可能关注的文档
- 职场太直率小心遭人恨 招变交际高手.doc
- 职场拼命三郎招众人怒.doc
- 职场江湖:绝不能对领导说的句傻话.doc
- 职工书屋的图书.xls
- 职工互助一日捐活动总结.doc
- 职称计算机题库XP:并在在对话框中显示“重置”的帮助信息.doc
- 肉食主义与素食主义相比,我更支持素食主义.doc
- 肖家小学经典诵读活动方案.doc
- 肖特基&快恢复&达林顿.doc
- 育龄妇女分年龄、孩次的生育状况年月日至年月日.xls
- DB44_T 2611-2025 城市排水管网有毒有害气体监测与风险分级管理技术标准.pdf
- DB44_T 2612-2025 竞赛类科普活动策划与实施服务规范.pdf
- DB43_T 2947-2024 烟草种子质量控制规程.pdf
- DB37_T 4836-2025 煤矿风量实时监测技术要求.pdf
- 叉车防撞系统,全球前22强生产商排名及市场份额(by QYResearch).docx
- 超滤膜,全球前18强生产商排名及市场份额(by QYResearch).docx
- DB62T 4172-2020 玉米品种 酒623规范.pdf
- DB62T 4160-2020 在用真空绝热深冷压力容器综合性能在线检测方法.pdf
- DB62T 4164-2020 辣椒品种 酒椒1号.pdf
- DB62T 4133-2020 公路隧道地质超前预报机械能无损探测技术规程.pdf
文档评论(0)