分享

VBA基本语法Function过程函数的举例,看看有什么功能

 山峰云绕 2021-01-11

https://m.toutiao.com/is/JtwHyHL/ 



在excel中有时会有很多的重复数据,我们可以通过自己定义一个Function过程函数来实现。

接下来要使用到的数据表格

假如我们需要看看表中叫做“张起”的有几个人?

计算出来的结果:

代码1:

Public Function fun()

Dim i As Integer, j As Integer

j = 0

For i = 1 To 18

If Worksheets('sheet42').Cells(i, 2) = '张起' Then

j = j + 1

End If

Next

fun = j

End Function

下面就对代码简单地解释一下:

在工作当中我们可能不仅仅只对某一列的数据进行重复判断,我们可能是对某一区域范围内的值进行计算,如果excel 的表中的区域我们不确定的是时候,我们可以在自定义过程的函数的时候,使用参数,我们通过传参数来给我们定义的函数指定区域。

接下来举例要使用到的表格:

计算出来的结果如下:

代码2:

Public Function fun(k As Range)

Dim i As Range

Dim j As Integer

j = 0

For Each i In k

If i.Value = '张起' Then

j = j + 1

End If

Next

fun = j

End Function

下面具体解释一下代码:代码2:

Public Function fun(k As Range)

Dim i As Range

Dim j As Integer

j = 0

For Each i In k

If i.Value = '张起' Then

j = j + 1

End If

Next

fun = j

End Function

下面具体解释一下代码:

注意:函数转参数这2种写法都可以

1. Public Function fun(i, j)

2. Public Function fun(k As Range)

第一种参数没有直接指出类型,但是你传的时候要知道要传入的类型,但是有一点特别重要,一定要在函数内部声明类型,不然会报错。第二种写法比较标准,直接就指出了参数的类型,且函数内部不用再定义了,简单明了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多