|
发表于 2017-1-13 21:58
|
显示全部楼层
本楼为最佳答案
结果输出在FG列,以便比较。
- Sub tt()
- arr = Range("a1:b" & [b65536].End(3).Row)
- ReDim brr(1 To UBound(arr), 1 To 2)
- Set d = CreateObject("scripting.dictionary")
- For i = 5 To UBound(arr) - 1
- x = arr(i, 2): d(x) = ""
- For j = i + 1 To UBound(arr)
- y = arr(j, 2): d(y) = ""
- If y = x Then
- brr(j, 1) = d.Count
- d.RemoveAll
- Exit For
- End If
- Next
- Next
-
- d.RemoveAll
- For i = 6 To UBound(arr)
- x = arr(i, 1)
- For j = i - 1 To 5 Step -1
- y = arr(j, 2): d(y) = ""
- If d.Count = x Then
- brr(i, 2) = arr(j, 2)
- Exit For
- End If
- Next
- d.RemoveAll
- Next
-
-
- [f1].Resize(UBound(arr), 2) = brr
- End Sub
复制代码 |
评分
-
查看全部评分
|