反转集合中的项目

时间:2010-11-17 10:08:50

标签: vba collections

撤消VBA集合中项目的最简单方法是什么?

3 个答案:

答案 0 :(得分:13)

不知道有什么简洁的做法,但你可以做一些事情(代码未测试):

Dim MyNewCol as New Collection
For Each obj in MyCol
    If MyNewCol.Count > 0 Then
        MyNewCol.Add item := obj, before := 1
    Else
        MyNewCol.Add item := obj
    End If
Next

答案 1 :(得分:0)

从具有最大索引的成员开始逐步浏览开始的集合。将每个成员添加到反向集合。

Sub ReverseCollection(aCollection)

    Dim ndx As Integer
    Dim max As Integer
    Dim reversedCollection As New Collection
    max = aCollection.Count + 1

    For ndx = 1 To aCollection.Count
        reversedCollection.Add aCollection(max - ndx)
    Next ndx
End Sub

答案 2 :(得分:0)

在开始的集合上使用内置的迭代器。 要使用“在此之前添加”,集合必须至少具有1个成员,因此添加一个项目,然后在反向集合完成后将其删除。

pd.to_datetime(s,format='%m/%d/%y').dt.strftime('%m/%d/%Y')
Out[937]: 
0    03/25/1993
1    06/18/1985
2    07/08/1971
3    09/27/1975
4    02/06/1996
Name: S, dtype: object