|
本帖最后由 hfwufanhf2006 于 2019-7-3 11:03 编辑
1、数据透视其实也可以,还快;
2、如果一定要代码,把下面代码放在sheet3中,数据来源于sheet2,如果不是,请自行修改工作表名称
Dim zd As Object
Set zd = CreateObject("scripting.dictionary")
Dim arr
Dim arr1(1 To 2)
For i = 2 To Worksheets("sheet2").[b10000].End(3).Row
s = Worksheets("sheet2").Cells(i, 2)
If zd.exists(s) Then
arr = zd(s)
arr(2) = arr(2) + Worksheets("sheet2").Cells(i, 3)
zd(s) = arr
Else
arr1(1) = s
arr1(2) = Worksheets("sheet2").Cells(i, 3)
zd(s) = arr1
End If
Next i
Dim arr2
arr2 = zd.keys
For i = 0 To UBound(arr2)
Range(Cells(i + 2, 2), Cells(i + 2, 3)) = zd(arr2(i)) Cells(i + 2, 1) = i + 1 Cells(i + 2, 1) = i + 1
Next i
Range("b1:c" & [c1000].End(3).Row).Sort key1:=Range("c1"), order1:=2, Header:=xlYes
|
|