使用VBA快速统计食堂刷卡账单(统计重复次数)
2019-11-17 本文已影响0人
麦睿蔻
员工在食堂吃饭刷卡的时候,有时候会忘记带饭卡,食堂允许暂时签名记账,月末统一刷卡清账。食堂的习惯是人名后边用“正”字统计需要清欠的次数,一个正字代表五次。可以想象,在统计的时候大概是每写一个名字,都要在原始记录里来回寻找一次,费时费力还容易出错。
其实用VBA可以简单解决这个问题:在A列输入所有姓名,点击按钮,自动将每个人的欠费次数统计出来,放到B、C两列。
原始数据如下:
2.jpg
运行效果:
GIF.gif
Sub 统计重复次数()
Range("c1:d" & Range("a65536").End(xlUp).Row).Clear
Range("c1") = "姓名"
Range("d1") = "次数"
Dim d As Object
Set d = CreateObject("scripting.dictionary")
Dim i As Integer
Dim arr1
Dim arr2
For i = 2 To Range("a65536").End(xlUp).Row
d(Cells(i, 1).Value) = d(Cells(i, 1).Value) + 1
Next
arr1 = d.keys
arr2 = d.items
Range("c2").Resize(d.Count, 1) = Application.Transpose(arr1)
Range("d2").Resize(d.Count, 1) = Application.Transpose(arr2)
End Sub