本帖最后由 dsmch 于 2015-5-26 08:43 编辑
Sub Macro1()
Dim arr, brr, d, i&, s&
Set d = CreateObject("scripting.dictionary")
w = Array("M", "L", "XL", "2XL", "3XL", "4XL")
arr = Range("a1").CurrentRegion
ReDim brr(1 To UBound(arr), 1 To UBound(w) + 2)
For i = 0 To UBound(w)
d(w(i)) = i + 2
Next
For i = 2 To UBound(arr)
If Not d.exists(arr(i, 1)) Then
s = s + 1
d(arr(i, 1)) = s
brr(s, 1) = arr(i, 1)
brr(s, d(arr(i, 2))) = arr(i, 3)
Else
n = d(arr(i, 1))
brr(n, d(arr(i, 2))) = brr(n, d(arr(i, 2))) + arr(i, 3)
End If
Next
Range("g19").Resize(s, UBound(brr, 2)) = brr
End Sub
|