|
发表于 2017-8-16 16:59
|
显示全部楼层
本楼为最佳答案
本帖最后由 苏子龙 于 2017-8-16 17:03 编辑
- Sub tt()
- Dim arr, brr, i%, j%, n%, d
- arr = Range("a1:d11")
- Set d = CreateObject("scripting.dictionary")
- ReDim brr(1 To UBound(arr), 1 To 3)
- For i = 2 To UBound(arr)
- If Not d.exists(arr(i, 1)) Then
- n = n + 1
- d(arr(i, 1)) = ""
- brr(n, 1) = arr(i, 1)
- Set d(arr(i, 1)) = CreateObject("scripting.dictionary")
- End If
- For j = 2 To UBound(arr, 2)
- If Not d(arr(i, 1)).exists(arr(i, j)) And InStr(arr(i, j), "空白") = 0 Then
- brr(n, 2) =IIf(brr(n, 3), brr(n, 2) & "/" & arr(i, j), arr(i, j)): brr(n, 3) = brr(n, 3) + 1
- d(arr(i, 1))(arr(i, j)) = ""
- End If
- Next
- Next
- [a20].Resize(n, 3) = brr
- End Sub
复制代码 |
|