|
Option Explicit
Dim k
Sub test()
Dim A, d, i, t
Set d = CreateObject("scripting.dictionary")
A = Range("A1").CurrentRegion
For i = 2 To UBound(A)
d.Add A(i, 1), Abs(VBA.Split(A(i, 1), "/")(1))
Next i
k = d.keys: t = d.items
Call SelectionSort(t)
k = Application.Transpose(k)
[a2].Resize(UBound(k)) = k
End Sub
Sub SelectionSort(arr)
Dim i&, j&, t
For i = LBound(arr) To UBound(arr) - 1
t = i
For j = i + 1 To UBound(arr)
If arr(t) > arr(j) Then t = j '升序
Next j
If t <> i Then
swap arr(t), arr(i)
swap k(t), k(i)
End If
Next i
End Sub
Sub swap(x, y)
Dim temp
temp = x: x = y: y = temp
End Sub
3.rar
(11.85 KB, 下载次数: 3)
|
|