- Sub test()
- Dim d As Object, arr, arrRst, i&, r&, s$
- Set d = CreateObject("scripting.dictionary")
- arr = [a1].CurrentRegion
- ReDim arrRst(1 To UBound(arr), 1 To 2)
- For i = 2 To UBound(arr)
- s = arr(i, 1)
- If Not d.exists(s) Then
- r = r + 1
- d(s) = r
- arrRst(r, 1) = s
- arrRst(r, 2) = arr(i, 4)
- Else
- arrRst(d(s), 2) = arrRst(d(s), 2) & "," & arr(i, 4)
- End If
- Next i
- [i2].Resize(r, 2) = arrRst
- End Sub
复制代码 |