|
发表于 2013-12-19 16:33
|
显示全部楼层
本楼为最佳答案
本帖最后由 xdragon 于 2013-12-19 16:35 编辑
- Sub distinct()
- Dim arr, brr, crr(), d1 As Object, d2 As Object, i As Integer, j, cnt As Long, c As Collection
- Set d1 = CreateObject("scripting.dictionary")
- For i = 1 To 4
- arr = Sheets(CStr(i)).Range("K3:K1000")
- For Each j In arr
- d1(i & "|" & j) = d1(i & "|" & j) + 1
- Next
- Next
- arr = d1.keys
- brr = d1.items
- d1.RemoveAll
- Set d2 = CreateObject("scripting.dictionary")
- For i = 0 To UBound(arr)
- j = Split(arr(i), "|")(1)
- d1(j & "|" & brr(i)) = d1(j & "|" & brr(i)) + 1
- If d1(j & "|" & brr(i)) > 2 Then d2(j) = ""
- Next
- Range("A1:A" & d2.Count) = Application.Transpose(d2.keys)
- End Sub
复制代码 这题之前有人问过的了。。。 |
|