学习Excel技术,关注微信公众号:
excelperfect
集合是一种很有用的数据结构,能够让我们更方便地实现一些程序功能。本文介绍几段代码,能够进一步增强集合的功能。
判断键值是否存在
在集合中,没有内置方法判断键是否已存在。下面的代码检查指定的键是否已存在:
Function KeyIsExists(col AsCollection, key As String) As Boolean
On Error GoTo ExitHere
col.Item key
KeyIsExists = True
ExitHere:
End Function
测试KeyIsExists函数的代码如下:
Sub testKey()
Dim colMy As New Collection
colMy.Add Item:="完美Excel", key:="excelperfect"
colMy.Add Item:="微信公众号", key:="weixin"
Debug.Print KeyIsExists(colMy, "excelperfect")
Debug.Print KeyIsExists(colMy, "me")
End Sub
运行结果如下图1所示。
图1
对集合元素进行排序
在集合中,没有内置的排序方法。这里,使用快速排序算法来对集合中的元素排序:
Sub SortToCollection(col AsCollection, lFirst As Long, lLast As Long)
Dim vMiddle As Variant, vTemp As Variant
Dim lTempLow As Long
Dim lTempHi As Long
lTempLow = lFirst
lTempHi = lLast
vMiddle = col((lFirst + lLast) \ 2)
Do While lTempLow lFirst
lTempHi = lTempHi - 1
Loop
If lTempLow |
|