- Sub aaa()
- Dim arr, brr, i&, r&, d As Object
- Set d = CreateObject("scripting.dictionary")
- arr = [a1].CurrentRegion
- ReDim brr(1 To UBound(arr), 1 To 2)
- For i = 2 To UBound(arr)
- If Not d.exists(arr(i, 2)) Then
- r = r + 1
- d(arr(i, 2)) = r
- brr(r, 1) = arr(i, 2)
- End If
- brr(d(arr(i, 2)), 2) = brr(d(arr(i, 2)), 2) + 1
- Next i
- [e1].Resize(r, 2) = brr
- End Sub
- Sub bbb()
- Dim arr, brr, ar, r&, d As Object
- Set d = CreateObject("scripting.dictionary")
- arr = Range("b2:b" & [b65536].End(3).Row)
- ReDim brr(1 To UBound(arr), 1 To 2)
- For Each ar In arr
- If Not d.exists(ar) Then
- r = r + 1
- d(ar) = r
- brr(r, 1) = ar
- End If
- brr(d(ar), 2) = brr(d(ar), 2) + 1
- Next ar
- [e1].Resize(r, 2) = brr
- End Sub
复制代码 |