【发布时间】:2018-11-21 11:33:08
【问题描述】:
Dim MyCollection As VBA.Collection
Set MyCollection = New VBA.Collection
For i = MyCollection.Count To 1 Step -1
For j = (i - 1) To 1 Step -1
If MyCollection(i) = MyCollection(j) Then
MyCollection.Remove i
Exit For
End If
Next j
Next i
目前在 MyCollection 中有 8000 个电子邮件条目。我想从这个大列表中删除冗余元素,但速度更快。
如何加速这段代码?
【问题讨论】:
-
800 万?那么800万?您的问题很难理解,但避免重复的最佳方法是在最初存储数据时使用字典对象而不是集合。 800 万条记录存储什么样的数据?您的方法需要多长时间?
-
不是 800 万。这是一个错字。对我的问题进行了编辑。问题的要点是列表很大,这会产生滞后,因此希望加快进程。有更好的代码吗?
标签: string vba list collections