Sub 提取不重复数据()
Dim ar, br, d As Object, i&, s$, sr$, r&, t, tt, m&, j&, n&
r = Sheet1.Cells(Rows.Count, "B").End(xlUp).Row
If r > 1 Then
ar = Sheet1.Cells(1, 1).Resize(r, 3)
Set d = CreateObject("Scripting.Dictionary")
For i = 2 To UBound(ar)
If ar(i, 1) <> "" Then s = ar(i, 1)
If ar(i, 2) <> 0 Then sr = s & "☆" & ar(i, 2)
If Not d.exists(sr) Then
Set d(sr) = CreateObject("Scripting.Dictionary")
End If
If ar(i, 3) <> 0 Then d(sr)(ar(i, 3)) = ""
Next
Else
Exit Sub
End If
r = Sheet2.Cells(Rows.Count, 2).End(xlUp).Row
If r > 1 Then
br = Sheet2.Range("a1").Resize(r, UBound(ar))
m = 2
For i = 2 To UBound(br)
If br(i, 1) <> "" Then s = br(i, 1)
If br(i, 2) <> 0 Then sr = s & "☆" & br(i, 2)
If d.exists(sr) Then
tt = d(sr).keys
For Each t In tt
m = m + 1
br(i, m) = t
If j < m Then j = m + 2
Next
m = 2
End If
Next
Stop
Sheet2.Range("a1").Resize(r, j) = br
Set d = Nothing
Else
End
End If
End Sub
|