|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 一把小刀闯天下 于 2018-12-19 11:19 编辑
Option Explicit
Sub test()
Dim arr, i, j, t
arr = Range("a1:a" & Cells(Rows.Count, "a").End(xlUp).Row + 1)
ReDim brr(1 To UBound(arr, 1), 1 To 3), n(1 To UBound(brr, 2))
For i = 1 To UBound(arr, 1) - 2
For j = i + 1 To UBound(arr, 1) - 1
If arr(i, 1) > arr(j, 1) Then
t = arr(i, 1): arr(i, 1) = arr(j, 1) = arr(j, 1) = t
End If
Next j, i
For i = 1 To UBound(arr, 1) - 1
For j = i To UBound(arr, 1) - 1
If arr(j, 1) <> arr(j + 1, 1) Then
n(1) = n(1) + 1: brr(n(1), 1) = arr(i, 1) '唯一
If j > i Then n(2) = n(2) + 1: brr(n(2), 2) = arr(i, 1) '重复
If j = i Then n(3) = n(3) + 1: brr(n(3), 3) = arr(i, 1) '去重
i = j: Exit For
End If
Next j, i
For i = 2 To UBound(n)
If n(1) < n(i) Then n(1) = n(i)
Next
[b1].Resize(n(1), UBound(brr, 2)) = brr
End Sub |
评分
-
2
查看全部评分
-
|