SubTotal函数是Excel中功能强大的分类汇总统计函数。VBA要使用Excel内置函数,可以通过WorksheetFunction对象调用。
在本案例中,演示如何在VBA中调用Excel内置函数,以统计各部门的人数和平均工资。
案例数据
VBA代码如下:
Sub 分类汇总()
Dim arr As Variant
arrBM = Array("人力部", "市场部", "技术部")
Dim rng As Range
Set rng = Range("D2:D9")
For i = 0 To UBound(arrBM)
Range("$A$1:$d$9").AutoFilter Field:=3, Criteria1:=arrBM(i)
Range("H" & i + 2) = WorksheetFunction.Subtotal(3, rng)
Range("I" & i + 2) = WorksheetFunction.Subtotal(1, rng)
Next
Range("$A$1:$d$9").AutoFilter
End Sub
代码逻辑:利用For循环,逐次筛选各部门的名称,并通过WorksheetFunction对象调用SubTotal函数进行计数、计算平均值;最后,取消工作表的筛选状态。
VBA代码的运行结果
技术交流,软件开发,欢迎微信沟通: