Sub test1() Set D = CreateObject("Scripting.Dictionary")
With ThisWorkbook.Worksheets("Sheet5") .[D5].CurrentRegion.ClearContents
For Each a In .Range(.[a2], .[A65536].End(xlUp)) If IsEmpty(D(a.Value)) Then D(a.Value) = a.Offset(, 1) Else D(a.Value) = D(a.Value) & "," & a.Offset(, 1) End If Next