参与一下。。。。。
- Sub test()
- Dim d As Object, d1 As Object, Arr, i&, j&, n&, m, x&, k, s
- Arr = Range("c6:e" & Cells(9999, 5).End(xlUp).Row)
- Set d = CreateObject("Scripting.Dictionary")
- Set d1 = CreateObject("Scripting.Dictionary")
- For i = 1 To UBound(Arr)
- If Not d.exists(Arr(i, 2)) Then Set d(Arr(i, 2)) = CreateObject("Scripting.Dictionary")
- d(Arr(i, 2))(Arr(i, 3)) = Arr(i, 1) + d(Arr(i, 2))(Arr(i, 3))
- d1(Arr(i, 2)) = Arr(i, 1) + d1(Arr(i, 2))
- m = Arr(i, 1) + m
- Next i
- ReDim Arr(0 To UBound(Arr) * 2, 1 To 1)
- Arr(0, 1) = "收入合计:" & Round(m, 0) / 10000 & "万元"
- For Each k In d.keys
- x = x + 1: n = n + 1
- Arr(x, 1) = " " & n & "、" & k & " " & Round(d1(k), 0) / 10000 & "万元"
- For Each s In d(k).keys
- x = x + 1
- Arr(x, 1) = " -" & s & " " & Round(d(k)(s), 0) / 10000 & "万元"
- Next
- Next
- Range("G6").Resize(x + 1, 1) = Arr
- End Sub
复制代码 |