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) 第一种参数没有直接指出类型,但是你传的时候要知道要传入的类型,但是有一点特别重要,一定要在函数内部声明类型,不然会报错。第二种写法比较标准,直接就指出了参数的类型,且函数内部不用再定义了,简单明了。 |
|
来自: 山峰云绕 > 《Excel电子表格Access》