Sub identify_repeating()
Dim dicA As Object, dicB As Object
Dim a As Variant, b As Variant, ky As Variant, itm As Variant, its As Variant
Dim i As Long, j As Long, k As Long
Set dicA = CreateObject("Scripting.Dictionary")
Set dicB = CreateObject("Scripting.Dictionary")
a = Range("A2", Range("B" & Rows.Count).End(3)).Value
For i = 1 To UBound(a, 1)
dicA(a(i, 1)) = dicA(a(i, 1)) & a(i, 2) & "|"
Next
For Each ky In dicA.Keys
dicB(dicA(ky)) = dicB(dicA(ky)) & ky & "|"
Next
ReDim b(1 To dicA.Count, 1 To dicB.Count)
For Each itm In dicB.Items
its = Split(itm, "|")
If UBound(its) > 1 Then
k = 1
j = j + 1
For i = 0 To UBound(its) - 1
b(k, j) = its(i)
k = k + 1
Next
End If
Next
Range("D2").Resize(UBound(b, 1), UBound(b, 2)).Value = b
End Sub