excel利用vba定义函数的教程全解

excel利用vba定义函数的教程全解
用vba定义函数步骤1:例:下面表格中需要计算一些三角形的
面积
用vba定义函数步骤2:B列是底边长,C列是高,要求在D列
通过公式计算三角形面积。
(通常我们会在D3单元格用公式=B3*C3/2来计算,然后把这个
公式向D列下方拖动复制,得到其他公式。这只是一个简单的例子,通过它来学习编写简单的自定义函数)
用vba定义函数步骤3:打开VBA窗口
按ALT+F11调出VBA窗口,插入一个用户模块。
用vba定义函数步骤4:编写代码
把下面这个自定义函数代码粘贴到刚插入的用户模块中就可以使用了。
Functionsjxmj(di,gao)
二连浩特发生一起中毒事故致4死
sjxmj=di*gao/2
EndFunction
这段代码非常简单只有三行,先看第一行,其中sjxmj是自己取的函数名字,括号中的是参数,也就是变量,di表示“底边长”,gao表示“高”,两个参数用逗号隔开。
再看第二行,这是计算过程,将di*gao/2这个公式赋值给sjxmj,即自定义函数的名字。
用vba定义函数步骤5:使用自定义函数
用vba定义函数步骤6:通过上面例子可以了解自定义函数的编
写和使用方法,下面再介绍一个稍微复杂点的自定义函数。
经常对数据进行处理的朋友可以会遇到多条件查某一个数据,一般这种情况需要编写“数组公式”来解决,公式较长,也不易理解。
比如下面统计成绩的表格,需要根据A1:D7的成绩表,统计出两门功能都在90分以上的学生人数。
大家可以看到在H3单元格中的公式比较长,理解起来也有一定难度。
我们通过自定义函数也可以得到正确结果,函数代码如下:
Function统计(a,b,c,d,e)
Fori=1Toa.Rows.Count
父亲的拐杖Ifb=a.Cells(i,1)Anda.Cells(i,c)>=eAnda.Cells(i,d)>=eThen
统计=统计+1
EndIf
Next
EndFunction
这个函数用了五个参数(因为涉及到一个区域和四个条件)
参数a表示要统计的区域,在此例中为B2:E7
参数b表示要统计的是哪一个班级,在此例中为G3单元格
参数d表示数学成绩相对于区域第一列向右的列数,在此例中为4
参数e表示分数,在此例中为90分
提示:要注意参数c和d“相对”于“区域”的列数,并非是从A列开始向右的列数。
把上面这段代码也粘贴到用户模块中就可以使用了
的名字回到EXCEL窗口,在H3单元格中输入公式=统计
($B$2:$E$7,G3,3,4,90)就可以显示正确结果了。
Function统计2(a,b)
Fori=1Toa.Rows.Count
Ifb=a.Cells(i,1)Anda.Cells(i,3)>=90Anda.Cells(i,4)>=90Th en
统计=统计+1
同人女研究所
约翰逊总统
EndIf
单细胞生物Next
EndFunction
在表格中的H3单元格中输入公式=统计2($B$2:$E$7,G3)就可以了。
从上面可以看出,自定义函数可以使用“汉字”做为函数的名字,方便记忆,也可以根据实际情况对参数进行简化。
用vba定义函数步骤7:通常这种时候需要在H3单元格使用数
组公式
=SUM(IF(($B$2:$B$7=G3)*($D$2:$D$7>=90)*($E$2:$E$7>=90),1,0))
用vba定义函数步骤8:如果我们的成绩表格式是固定的,各科
目成绩位置相对于区域也是固定的,而且要统计的分数也是固定的
90分,就可以在自定义函数中将参数的数量减少到两个,如下:

本文发布于:2024-09-23 17:22:33,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/638204.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:函数   参数   统计   公式   步骤
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议