Option Explicit
Sub ReorgDataV2()
' hiker95, 04/03/2011
' http://www.mrexcel.com/forum/showthread.php?t=540814
Dim w1 As Worksheet, wR As Worksheet
Dim LR As Long, a As Long, aa As Long, SR As Long, ER As Long, H As String
Application.ScreenUpdating = False
Set w1 = Worksheets("Sheet1")
If Not Evaluate("ISREF(Results!A1)") Then Worksheets.Add(After:=w1).Name = "Results"
Set wR = Worksheets("Results")
wR.UsedRange.Clear
Set wR = Worksheets("Results")
LR = w1.Cells(Rows.Count, 1).End(xlUp).Row
w1.Range("A1:C" & LR).Sort Key1:=w1.Range("A1"), Order1:=xlAscending, Key2:=w1.Range("B1") _
, Order2:=xlAscending, Key3:=w1.Range("C1"), Order3:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:=xlSortNormal
w1.Rows(1).Insert
w1.Range("A1:B1") = [{"A","B"}]
w1.Columns("A:B").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=wR.Columns("A:B"), Unique:=True
w1.Rows(1).Delete
wR.Rows(1).Delete
LR = wR.Cells(Rows.Count, 1).End(xlUp).Row
For a = 1 To LR Step 1
SR = Application.Match(wR.Cells(a, 1), w1.Columns(1), 0)
ER = Application.Match(wR.Cells(a, 1), w1.Columns(1), 1)
H = ""
For aa = SR To ER Step 1
H = H & w1.Cells(aa, 3) & ","
Next aa
If Right(H, 1) = "," Then H = Left(H, Len(H) - 1)
wR.Cells(a, 3) = H
Next a
Application.ScreenUpdating = True
End Sub