Collection
Dim cl as New Collection
cl.Add "123"
cl.item(1)
cl.Count
cl.Remove(1)
Dictionary
字典对象相当于一种联合数组,它是由具有唯一性的关键字(Key)和它的项(Item)联合组成
VBA字典有6个方法Add , Keys, Items, Exists, Remove, RemoveAll
VBA字典有4个属性Count , Key, Item, CompareMode
Sub dictest()
Dim d As Object '声明字典对象,亦可通过声明变体型变量完成声明 >>> Dim d
Set d = CreateObject("Scripting.Dictionary") '声明字典
' 添加 >>> d.Add
d.Add "a", "example1"
d.Add "b", 9
'd.Add "b", 7 'add重复key会报错
d("b") = 7 '这样会直接覆盖,不会报错
'd.Item ("b") = 7 '与上者相同
d("c") = "example2"
'通常使用Sting文本字符串作为字典key关键词,也可以使用数字、数值作为key
'速度:纯数字>纯文本字符>>>文本/数值混合型
' 输出 >>> d(key),d.Item (key)
Cells(1, 1) = d("a")
'Cells(1, 1) = d.Item ("a") '与上者相同
Cells(1, 2) = d("b")
Cells(1, 3) = d("c")
'判断字典keys中是否含有key
Debug.Print d.Exists(a) '存在,返回True
Debug.Print d.Exists(n) '不存在,返回Flase
' 字典成员个数
Debug.Print "字典成员个数:" & d.Count
'移除
d.Remove("b")
'd.RemoveAll '移除所有
' 替换key
d.Key("a") = "e"
'所有key所在的数组和所有item所在的数组
d_keys = d.Keys '将字典keys装入数组d_keys
Cells(3, 1) = d_keys(0)
Cells(3, 2) = d_keys(1)
d_items = d.Items '将字典Item装入数组d_Items
Cells(4, 1) = d_items(0)
Cells(4, 2) = d_items(1)
'更改字符串关键字比较时所使用的比较模式
'd.CompareMode = 0(二进制)/1(文本)/2(数据库)
End Sub