自定义函数选合集代码注释.doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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呢?因为如果直接对负数取整,

文档评论(0)

gsgtshb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档