|
发表于 2015-2-25 22:09
|
显示全部楼层
本楼为最佳答案
- Sub Macro1()
- Dim arr, brr, d, i&, j%, s&, n&, zf$
- Set d = CreateObject("scripting.dictionary")
- arr = Range("a1").CurrentRegion
- ReDim brr(1 To 20000, 1 To 3)
- For j = 2 To UBound(arr, 2)
- For i = 2 To UBound(arr)
- If arr(i, j) <> "" Then
- zf = arr(1, j) & "," & arr(i, j)
- If Not d.exists(zf) Then
- s = s + 1
- d(zf) = s
- brr(s, 1) = arr(1, j)
- brr(s, 2) = arr(i, j)
- brr(s, 3) = arr(i, 1)
- Else
- n = d(zf)
- brr(n, 3) = brr(n, 3) + arr(i, 1)
- End If
- End If
- Next
- Next
- [i1:k1] = Array("名称", "内容", "总数量")
- Range("i2").Resize(s, 3) = brr
- Range("i1").Resize(s + 1, 3).Borders.LineStyle = 1
- End Sub
复制代码 |
评分
-
查看全部评分
|