|
Sub 休假汇总()
Dim ws As Worksheet
Set d = CreateObject("Scripting.Dictionary")
Set ws = Sheet2
r = ws.Range("a65536").End(xlUp).Row
r1 = 4
arr = ws.Range("a5:h" & r)
For i = 1 To UBound(arr)
If Not d.exists(arr(i, 1)) Then
d(arr(i, 1)) = ""
End If
Next i
For i = 0 To d.Count - 1
s = d.keys()(i)
n = 0: n1 = 0
For m = 5 To r
If ws.Cells(m, 1) = s Then
Cells(r1, 2) = s
k = Split(ws.Cells(m, 2), "/")
Select Case k(1)
Case Is = 1
n = n + ws.Cells(m, 7)
Cells(r1, "c") = Cells(r1, "c") & k(2) & ","
Case Is = 3
n1 = n1 + ws.Cells(m, 7)
Cells(r1, "g") = Cells(r1, "g") & k(2) & ","
End Select
Cells(r1, "d") = n
Cells(r1, "h") = n1
End If
Next m
r1 = r1 + 1
Next i
End Sub
你试试,里面的其他case你自己再添加 |
|