Sub test() Dim arr, i%, k%, arrt, d Set d = CreateObject("scripting.dictionary") arr = Range("a2:c" & [a65536].End(3).Row) For i = 1 To UBound(arr) If Not d.Exists(arr(i, 3)) Then d(arr(i, 3)) = arr(i, 2) Else d(arr(i, 3)) = d(arr(i, 3)) & "," & arr(i, 2) End If Next Range("g2:s11").ClearContents For k = 2 To [f65536].End(3).Row arrt = Split(d(Cells(k, "F") & ""), ",") Cells(k, "G").Resize(1, UBound(arrt) + 1) = arrt Cells(k, "S") = UBound(arrt) + 1 Erase arrt Next Range("f2").Resize(d.Count, 1) = WorksheetFunction.Transpose(d.keys) End Sub 加上蓝色的这句 |