|
发表于 2015-11-25 18:31
|
显示全部楼层
本楼为最佳答案
- Sub test()
- Dim d As Object, ar1, ar2, r1 As Integer, r2 As Integer, st As String
- Set d = CreateObject("scripting.dictionary")
- ar1 = Sheet2.Range("a2", Sheet2.Range("a2").End(xlDown).End(xlToRight))
- For r1 = 1 To UBound(ar1)
- d(ar1(r1, 1) & "-" & ar1(r1, 2)) = d(ar1(r1, 1) & "-" & ar1(r1, 2)) + ar1(r1, 3)
- Next r1
- ar2 = Range("d2", Range("d2").End(xlDown).Offset(, 1))
- st = Range("a2")
- For r2 = 1 To UBound(ar2)
- ar2(r2, 2) = d(ar2(r2, 1) & "-" & st)
- Next r2
- Range("d2").Resize(UBound(ar2), UBound(ar2, 2)) = ar2
- End Sub
复制代码 |
|