对数字有效,且都有弱点
Sub test1()
Dim A, B, i, r
A = [a1:a10]
ReDim B(Application.Min(A) To Application.Max(A), 1 To 1)
For i = 1 To UBound(A)
B(A(i, 1), 1) = A(i, 1)
Next i
For i = LBound(B) To UBound(B)
If B(i, 1) Then
r = r + 1
A(r, 1) = B(i, 1)
End If
Next
[d1].Resize(r) = A
End Sub
Sub test2()
Dim A, B, i, r, s
A = [a1:a10]
ReDim B(Application.Min(A) To Application.Max(A), 1 To 1) As Boolean
For i = 1 To UBound(A)
If Not B(A(i, 1), 1) Then
B(A(i, 1), 1) = 1
s = s & "," & A(i, 1)
r = r + 1
End If
Next i
If Len(s) Then
s = Mid(s, 2)
[c1].Resize(r) = Application.Transpose(Split(s, ","))
End If
End Sub
etc. |