Hi Schzuki,
try it
Sub ertert()
Dim x, y(), i&, j&, k&, n&, s$, sp, r()
With Sheets("data")
x = .Range("A1:H" & .Cells(Rows.Count, 1).End(xlUp).Row).Value
End With
ReDim y(1 To UBound(x), 1 To 2): ReDim r(1 To 2)
With CreateObject("Scripting.Dictionary")
.CompareMode = 1
For i = 2 To UBound(x)
sp = Split(x(i, 8), ",")
For j = 0 To UBound(sp)
s = Trim(sp(j))
If .Exists(s) Then
n = .Item(s): r(n) = r(n) + 1
y(r(n), n - 1) = x(i, 1): y(r(n), n) = x(i, 8)
Else
k = k + 2: .Item(s) = k
If k > UBound(y, 2) Then ReDim Preserve y(1 To UBound(x), 1 To k): ReDim Preserve r(1 To k)
y(1, k - 1) = s: y(2, k - 1) = x(i, 1): y(2, k) = x(i, 8): r(k) = 2
End If
Next j
Next i
End With
With Sheets("output")
.UsedRange.ClearContents
.Range("A1").Resize(WorksheetFunction.Max(r), k).Value = y()
.Activate
End With
End Sub
Bookmarks