|
发表于 2014-6-24 15:57
|
显示全部楼层
本楼为最佳答案
请测试:- Sub test()
- Dim arr, brr(1 To 500, 1 To 1), dic As Object
- Dim i%, j%, k%, x As Boolean
- Set dic = CreateObject("scripting.dictionary")
- arr = Sheets(1).[a1].CurrentRegion.Value
- For i = 1 To UBound(arr) - 2
- If Not dic.exists(arr(i, 1)) Then
- dic(arr(i, 1)) = ""
- x = False
- For j = i + 1 To UBound(arr) - 1
- If arr(i, 1) = arr(j, 1) Then
- k = k + 1
- If x = False Then
- brr(3 * (k - 1) + 1, 1) = arr(i, 1)
- brr(3 * (k - 1) + 2, 1) = arr(i + 1, 1)
- k = k + 1
- x = True
- End If
- brr(3 * (k - 1) + 1, 1) = arr(j, 1)
- brr(3 * (k - 1) + 2, 1) = arr(j + 1, 1)
- End If
- Next
- End If
- Next
- Sheets(1).[c1].Resize(3 * k) = brr
- End Sub
复制代码 |
评分
-
查看全部评分
|