浅谈excel中vba自定义函数及应用

浅谈excel中vba自定义函数及应用

ID:35139615

大小:131.00 KB

页数:5页

时间:2019-03-20

浅谈excel中vba自定义函数及应用_第1页
浅谈excel中vba自定义函数及应用_第2页
浅谈excel中vba自定义函数及应用_第3页
浅谈excel中vba自定义函数及应用_第4页
浅谈excel中vba自定义函数及应用_第5页
资源描述:

《浅谈excel中vba自定义函数及应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、浅谈Excel中VBA自定义函数及应用无锡市第六高级中学丁家波摘要:Excel自带的内置函数在数据统计分析中有着广泛的应用,但对于工作中某些特殊需求,内置函数无法满足。为减少重复操作,满足在教学数据统计工作中的特殊需要,本文着重讨论如何在Excel中自定义平均值函数,该函数与Excel内置函数average()函数的比较以及该函数在教学数据统计中的应用,引申出用VBA在Excel中自定义不同的函数来扩展Excel的功能,满足工作中各种特殊需要,提高工作效率。关键词:ExcelVBA,自定义函数,数据统计一、为什么要在Excel中自

2、定义函数电子表格Excel具有快捷方便的数据输入方式和强大的数据处理能力,是中学教务工作中常用的数据统计分析软件,尤其是Excel里自带的近300个内置函数,可以轻松方便地完成日常许多工作,但是Excel只是个通用的办公软件,对于工作中某些特殊需求,内置函数无法满足。例如:Excel中求平均值Average()函数,函数只能求指中范围内所有数据的平均值,返回值为单精度值小数。如果在实际工作中只求指定范围内符合指定条件的某一部分数据的平均值,返回值为用户指定的一位或者两位小数,average函数即无法满足,这时就需要定制Excel,

3、可通过VBA编程对其进行全方位的扩展、定制,实现自定义功能,从而达到特殊的需求。下面就介绍在Excel中用VBA定制求平均值函数及其应用。二、自定义平均值函数程序代码的实现要实现用ExcelVBA自定义函数,首先要在电脑里安装VisualBasic程序设计软件。打开Excel,使用菜单“工具—宏—VisualBasic编辑器”或者直接使用快捷键【Alt+F11】组合键,打开MicrosoftVisualBasic编辑器窗口;在“工程”浏览器窗口中的树状目录的任一项目上单击右键,使用“插入—模块”命令;或者在工具栏插入用户窗体按钮处

4、点击下拉列表,选“模块”即可。在这个模块编辑器中,即可以开始编辑自定义函数了,由于此函数的型式及其每个参数需要用户在属性设置中定义和声明,故叫自定义函数,因Excel中内置的求平均值函数为Average函数,我们不妨命名自定义的求平均值函数为Uaverage,下面是以Excel2003为例,介绍Uaverage函数的代码实现过程。'"求平均值"自定义函数'函数形式Uaverage(rng1,rng2,n),返回值为Single型'函数带3个参数,其中rng1,rng2为Range型,n为整型'此算法是计算数据表中某一范围内符合指定

5、条件的数值平均值FunctionUaverage(rng1AsRange,rng2AsRange,nAsInteger)Dimi%,irow%,icol%,ittl%DimnumAsInteger,sumAsSingleirow1=rng1.Rows.Counticol1=rng1.Columnirow2=rng2.Rows.Counticol2=rng2.ColumnFori=1Toirow1Step1IfCells(i,icol1).Value=nThenIfCells(i,icol2).Value>0Then'将大于0的数值

6、计入平均值num=num+1sum=sum+Cells(i,icol2).ValueEndIfEndIfNextiUaverage=CSng(sum/num)'计算平均值,返回值为单精度小数Uaverage=Format$(Uaverage,"0.00")'函数的返回值设置成保留2位小数EndFunction该函数的计算过程其实很简单,就是遍历整个Excel表内的所有单元格,将整个表中rng1字段值为n的记录中,rng2字段数值累加,再求其平均值。函数的返回值为两位小数的数值。比如现Excel中有全校各年级考试的成绩数据,需统计全

7、年级各班级各学科的平均值,假设B列数据为班级号,C列数据为语文成绩,D列数据为数学成绩等。函数Uaverage(B:B,C:C,1)的返回值即为数据表中所有1班语文成绩大于0分学生的平均值,同样函数Uaverage(B:B,D:D,1)的返回值即为数据表中所有1班语文成绩大于0分学生的平均值。三、该自定义函数与Excel内置平均值average函数的比较自定义求平均值Uaverage函数与Excel内置average函数的比较如下:1)函数的型式不同,average函数型式为average(range),带一个参数,相对简单,Ua

8、verage函数的型式为Uaverage(range1,range2,n),带三个参数,相对复杂些。2)函数的返回值不同,Excel内置函数默认返回双精度小数,数值带8位小数,自定义函数的返回值可以自定义保留几位小数,本例中设置成带2位小数的数值,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。