'个人认为,字典与数组好比两口子,该在一块就在一块,这样才有激情与创造力
Sub test_dictionary()
Dim ar, br(), d, k, r&, c%
ar = [a1].CurrentRegion
Set d = CreateObject("scripting.dictionary")
For r = 1 To UBound(ar)
For c = 1 To UBound(ar, 2)
d(ar(r, c)) = "" '字典去重
Next
Next
k = d.keys
For c = 0 To UBound(k)
ReDim Preserve br(1 To 1, 1 To c + 1)
br(1, c + 1) = WorksheetFunction.Small(k, c + 1) '从小到大排序
Next
[a14].Resize(1, 33) = ""
[a14].Resize(1, c) = br
Set d = Nothing
End Sub
Sub test_array()
Dim ar, br%(1 To 1, 1 To 33), cr(), c%, r&, x%
ar = [a1].CurrentRegion
For r = 1 To UBound(ar)
For c = 1 To UBound(ar, 2)
br(1, ar(r, c)) = ar(r, c) '数组去重
Next
Next
For c = 1 To UBound(br, 2)
If br(1, c) > 0 Then
x = x + 1
ReDim Preserve cr(1 To 1, 1 To x)
cr(1, x) = br(1, c) '去掉数组br空位中的0
End If
Next
[a15].Resize(1, 33) = ""
[a15].Resize(1, x) = cr
End Sub
|