结果放在Sheet2表中
Sub test()
Set sh1 = Sheets("sheet1")
Set sh2 = Sheets("sheet2")
sh2.Cells.Clear
sh1.[a1:h1].Copy sh2.[a1]
Set d = CreateObject("scripting.dictionary")
arr = sh1.[a1].CurrentRegion
For i = 2 To UBound(arr)
s = arr(i, 1)
If Not d.exists(s) Then
d(s) = Array(arr(i, 2), arr(i, 3), arr(i, 4), arr(i, 5), arr(i, 6), arr(i, 7), arr(i, 8))
Else
d(s) = Array(d(s)(0) + arr(i, 2), d(s)(1) + arr(i, 3), d(s)(2) + arr(i, 4), d(s)(3) + arr(i, 5), d(s)(4) + arr(i, 6), d(s)(5) + arr(i, 7), d(s)(6) + arr(i, 8))
End If
Next i
Ik = d.keys
Im = d.items
sh2.[a2].Resize(d.Count) = Application.Transpose(Ik)
For j = 1 To 8
sh2.Cells(j + 1, 2).Resize(, 7) = Im(j - 1)
Next j
End Sub
|