- Sub 去重合并()
- arr = Range("a1:d" & [b65536].End(3).Row)
- ReDim brr(1 To UBound(arr), 1 To 3)
- Set d = CreateObject("scripting.dictionary")
- For i = 2 To UBound(arr)
- x = arr(i, 2) & arr(i, 3): y = "," & arr(i, 4) & ","
- If Not d.exists(x) Then
- n = n + 1: d(x) = n
- brr(n, 1) = arr(i, 2)
- brr(n, 2) = arr(i, 3)
- End If
- p = d(x)
- If Len(arr(i, 4)) > 0 Then
- If InStr(brr(p, 3), y) = 0 Then brr(p, 3) = brr(p, 3) & y
- End If
- Next
- For i = 1 To n
- brr(i, 3) = Replace(Mid(brr(i, 3), 2, Len(brr(i, 3)) - 2), ",,", ",")
- Next
- [g2].Resize(n, 3) = brr
- End Sub
复制代码 |