|
发表于 2013-7-10 10:59
|
显示全部楼层
本楼为最佳答案
- Sub 汇总()
- Dim d As Object, i%, j%, arr, brr, crr, row1&
- Set d = CreateObject("scripting.dictionary")
- row1 = Sheet1.Range("b65536").End(3).Row
- j = 1
- arr = Sheet1.Range("c2:g" & row1)
- For i = 1 To UBound(arr)
- If Not d.exists(arr(i, 1) & "," & arr(i, 2)) Then
- d.Add arr(i, 1) & "," & arr(i, 2), arr(i, 5)
- Else
- d(arr(i, 1) & "," & arr(i, 2)) = d(arr(i, 1) & "," & arr(i, 2)) + arr(i, 5)
- End If
- Next
- brr = d.keys
- crr = d.items
- ReDim drr(1 To d.Count, 1 To 3)
- For i = 0 To UBound(brr)
- If crr(i) <> 0 Then
- drr(j, 1) = Split(brr(i), ",")(0)
- drr(j, 2) = Split(brr(i), ",")(1)
- drr(j, 3) = crr(i)
- j = j + 1
- End If
- Next
- Sheet2.Range("a2").Resize(d.Count, 3) = drr
- Set d = Nothing
- End Sub
复制代码 |
|