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

时间:2022-01-18 05:37:34 

Excel中经常需要使用到vba进行自定义函数的技巧,自定义函数具体该如何用vba自定义呢?接下来是小编为大家带来的excel利用vba定义函数的教程,供大家参考。

excel利用vba定义函数的教程

用vba定义函数步骤1:例:下面表格中需要计算一些三角形的面积

用vba定义函数步骤2:B列是底边长,C列是高,要求在D列通过公式计算三角形面积。

excel利用vba定义函数的教程 图1

(通常我们会在D3单元格用公式 =B3*C3/2 来计算,然后把这个公式向D列下方拖动复制,得到其他公式。这只是一个简单的例子,通过它来学习编写简单的自定义函数)

用vba定义函数步骤3:打开VBA窗口

按ALT+F11调出VBA窗口,插入一个用户模块。

excel利用vba定义函数的教程 图2

用vba定义函数步骤4:编写代码

通常自定义函数是用function命令开始的,在这个命令后面给它指定一个名字和参数

把下面这个自定义函数代码粘贴到刚插入的用户模块中就可以使用了。

Function sjxmj(di, gao)

sjxmj = di * gao / 2

End Function

这段代码非常简单只有三行,先看第一行,其中sjxmj是自己取的函数名字,括号中的是参数,也就是变量,di表示“底边长”,gao表示“高”,两个参数用逗号隔开。

再看第二行,这是计算过程,将di*gao/2这个公式赋值给sjxmj,即自定义函数的名字。

再看第三行,它是与第一行成对出现的,当你手工输入第一行的时候,第三行的end function就会自动出现,表示自定义函数的结束。

excel利用vba定义函数的教程 图3

用vba定义函数步骤5:使用自定义函数

回到EXCEL窗口,我们在D3单元格中输入公式 =sjxmj(b3,c3) ,就会得到这一行的三角形面积了,它的使用方法同内置函数完全一样。

excel利用vba定义函数的教程 图4

用vba定义函数步骤6:通过上面例子可以了解自定义函数的编写和使用方法,下面再介绍一个稍微复杂点的自定义函数。

经常对数据进行处理的朋友可以会遇到多条件查找某一个数据,一般这种情况需要编写“数组公式”来解决,公式较长,也不易理解。

比如下面统计成绩的表格,需要根据A1:D7的成绩表,统计出两门功能都在90分以上的学生人数。

大家可以看到在H3单元格中的公式比较长,理解起来也有一定难度。

我们通过自定义函数也可以得到正确结果,函数代码如下:

Function 统计(a, b, c, d, e)

For i = 1 To a.Rows.Count

If b = a.Cells(i, 1) And a.Cells(i, c) >= e And a.Cells(i, d) >= e Then

统计 = 统计 + 1

End If

Next

End Function

这个函数用了五个参数(因为涉及到一个区域和四个条件)

参数a表示要统计的区域,在此例中为B2:E7

参数b表示要统计的是哪一个班级,在此例中为G3单元格

参数c表示数学成绩相对于区域第一列向右的列数,在此例中为3

参数d表示数学成绩相对于区域第一列向右的列数,在此例中为4

参数e表示分数,在此例中为90分

提示:要注意参数c和d“相对”于“区域”的列数,并非是从A列开始向右的列数。

把上面这段代码也粘贴到用户模块中就可以使用了

回到EXCEL窗口,在H3单元格中输入公式 =统计($B$2:$E$7,G3,3,4,90) 就可以显示正确结果了。

Function 统计2(a, b)

For i = 1 To a.Rows.Count

If b = a.Cells(i, 1) And a.Cells(i, 3) >= 90 And a.Cells(i, 4) >= 90 Then

统计 = 统计 + 1

End If

Next

End Function

在表格中的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))

excel利用vba定义函数的教程 图5

用vba定义函数步骤8:如果我们的成绩表格式是固定的,各科目成绩位置相对于区域也是固定的,而且要统计的分数也是固定的90分,就可以在自定义函数中将参数的数量减少到两个,如下:

excel利用vba定义函数的教程 图6

标签:函数,定义,教程,自定义,Excel函数
0
投稿

猜你喜欢

  • wps制作精美的电影胶片效果教程

    2022-06-16 20:06:38
  • 如何将文档扫描到Dropbox中

    2023-09-30 18:35:32
  • Excel转PDF怎样才能保持在同一页?

    2023-03-06 07:50:25
  • 微信号id怎么看-微信号id查看方法

    2023-03-23 18:22:34
  • wps手机版怎么重命名?

    2022-02-26 18:29:47
  • 因为智修改日期

    2022-10-20 12:55:13
  • KB4462919无法完成更新正在撤销更改解决方法

    2023-05-08 01:22:26
  • ppt怎么制作连续图片列表? ppt连续图片列表的制作方法

    2023-11-21 07:04:07
  • 如何运用Excel函数成批打印明信片的方法步骤

    2022-07-28 12:48:06
  • Win10 20H2系统更新失败出现错误(0x80070002)

    2022-06-30 15:53:54
  • win8自带的Skydrive转换PDF文档将pdf转为word文档

    2022-09-03 23:40:47
  • 如何利用Excel COUPDAYSNC函数 计算从成交日到付息日之间的天数

    2022-09-25 16:06:48
  • 如果要熟练掌握lookup函数,掌握这三种查询方法就行

    2023-03-08 16:54:13
  • Win10电脑怎么更改字体的大小?

    2022-07-22 13:53:44
  • Windows电脑Ntoskrnl.exe蓝屏错误如何修复?

    2022-07-19 19:40:39
  • Excel2007给表格设置成只读加密属性

    2023-04-28 20:15:49
  • Win10进入黑色屏保后怎么让时间显示在屏幕上?Win10电脑黑屏时钟的设置方法

    2022-05-30 06:34:09
  • 基本磁盘和动态磁盘有什么区别?

    2022-10-04 06:57:49
  • Nestopia如何使用?Nestopia使用方法

    2022-03-06 19:23:23
  • wps文字中如何设置标题自动编号图文教程

    2022-04-20 01:37:22
  • asp之家 电脑教程 m.aspxhome.com