Sub gop()
Dim arr, i As Long, dic As Object, lr As Long, dk As Long, kq, b As Long, a As Long
Set dic = CreateObj
[QUOTE="snow25, post: 929710, member: 1166775"]
Sub gop() Dim arr, i As Long, dic As Object, lr As Long, dk As Long, kq, b As Long, a As Long Set dic = CreateObject("scripting.dictionary") With Sheets("file goc") lr = .Range("B" & Rows.Count).End(xlUp).Row arr = .Range("A2:C" & lr).Value2 ReDim kq(1 To UBound(arr), 1 To 3) End With For i = 1 To UBound(arr) dk = arr(i, 2) If Not dic.exists(dk) Then a = a + 1 kq(a, 1) = arr(i, 1) kq(a, 2) = arr(i, 2) kq(a, 3) = arr(i, 3) dic.Add dk, a Else b = dic.Item(dk) kq(b, 3) = kq(b, 3) & Chr(10) & arr(i, 3) End If Next i With Sheets("ketqua") lr = .Range("B" & Rows.Count).End(xlUp).Row If lr > 1 Then .Range("A2:C" & lr).ClearContents If a Then .Range("A2:C2").Resize(a).Value = kq End With Set dic = Nothing End Sub
[/QUOTE]
ect("scripting.dictionary")
With Sheets("file goc")
lr = .Range("B" & Rows.Count).End(xlUp).Row
arr = .Range("A2:C" & lr).Value2
ReDim kq(1 To UBound(arr), 1 To 3)
End With
For i = 1 To UBound(arr)
dk = arr(i, 2)
If Not dic.exists(dk) Then
a = a + 1
kq(a, 1) = arr(i, 1)
kq(a, 2) = arr(i, 2)
kq(a, 3) = arr(i, 3)
dic.Add dk, a
Else
b = dic.Item(dk)
kq(b, 3) = kq(b, 3) & Chr(10) & arr(i, 3)
End If
Next i
With Sheets("ketqua")
lr = .Range("B" & Rows.Count).End(xlUp).Row
If lr > 1 Then .Range("A2:C" & lr).ClearContents
If a Then .Range("A2:C2").Resize(a).Value = kq
End With
Set dic = Nothing
End Sub