|
本帖最后由 dsmch 于 2016-3-19 14:48 编辑
Sub Macro1()
Dim arr, brr, d, d2, i&, s&, n%
Set d = CreateObject("scripting.dictionary")
Set d2 = CreateObject("scripting.dictionary")
arr = Sheets("数据源").Range("a1").CurrentRegion
ReDim brr(1 To UBound(arr), 1 To 50)
For i = 2 To UBound(arr)
zf = "'" & arr(i, 2)
If Not d.exists(zf) Then
s = s + 1
d(zf) = s
brr(s, 1) = arr(i, 1)
brr(s, 2) = arr(i, 2)
brr(s, 3) = arr(i, 4)
brr(s, 4) = arr(i, 5)
d2(zf) = 4
Else
n = d(zf)
d2(zf) = d2(zf) + 2
brr(n, d2(zf) - 1) = arr(i, 4)
brr(n, d2(zf)) = arr(i, 5)
End If
Next
Sheet2.Activate
[a:ax].NumberFormatLocal = "@"
Range("a3").Resize(d.Count, UBound(brr, 2)) = brr
End Sub
|
|