VBA基本语法Function过程函数的举例,看看有什么功能
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)
第一种参数没有直接指出类型,但是你传的时候要知道要传入的类型,但是有一点特别重要,一定要在函数内部声明类型,不然会报错。第二种写法比较标准,直接就指出了参数的类型,且函数内部不用再定义了,简单明了。