不好意思,已更新,請再測試看看,謝謝
Sub test()
Dim Arr, xD, T$, n%, i&
Set xD = CreateObject("Scripting.Dictionary")
Arr = Sheet1.[a1].CurrentRegion
n = 1
For i = 1 To UBound(Arr)
T = Arr(i, 2)
If xD.Exists(T) Then
If xD(T)(1) <> Arr(i, 3) Then
If Not xD.Exists(T & "|ar") Then
Arr(n, 1) = T
Arr(n, 2) = xD(T)(0) & "," & Arr(i, 1)
xD(T & "|ar") = n: n = n + 1
Else
m = xD(T & "|ar")
Arr(m, 2) = Arr(m, 2) & "," & Arr(i, 1)
End If
End If
Else
xD(T) = Array(Arr(i, 1), Arr(i, 3))
End If
Next
If n > 0 Then
With Sheet2
.[a1].CurrentRegion.Offset(1) = ""
.[a2].Resize(n - 1, 2) = Arr
End With
End If
End Sub