一、集合
1、集合是什么?
集合是用來存儲數據的,可以理解為一個容器;
和數組Array相比,集合可以刪除容器中的任意數據,但是不能夠像數組那樣直接輸出到excel表格中。
2、創建
Sub test1() 'Dim c As Collection 'Set c = New Collection Dim c As New Collection '推薦使用這句來定義集合 For i = 1 To 10 c.Add i Next End Sub
3、方法
Add 向集合中添加數據
Sub test1() 'Dim c As Collection 'Set c = New Collection Dim c As New Collection '推薦適用這句來定義集合 For i = 1 To 10 c.Add i Next MsgBox c(1) '彈出1 End Sub
Remove 刪除集合中的數據
原則:后面的數據會自動向前進1位
Sub test1() 'Dim c As Collection 'Set c = New Collection Dim c As New Collection '推薦適用這句來定義集合 For i = 1 To 10 c.Add i Next c.Remove (1) MsgBox c(1) '彈出2 End Sub
Itme 獲取集合中的數據
Sub test2() Dim c As New Collection For i = 1 To 10 c.Add i Next MsgBox c.Item(10) '彈出10 MsgBox c(10) '彈出10,建議用這種方式獲取集合數據 End Sub
4、屬性
Count 獲取集合中數據的個數
Sub test1() Dim c As New Collection For i = 1 To 10 c.Add i Next MsgBox c.Count '彈出10 End Sub
二、字典
1、字典是什么
可以理解為也是用來裝數據的容器,例如{"小明":"屬猴","小華":"屬狗","小青":"屬蛇","小白":"屬蛇","小小明":"屬猴"}
字典的特性是一個名稱(Key)對應一個內容(Item),名稱是不可以重復的,但是內容是可以重復的。
可以利用字典Key的不重復性,進行數據的篩選;
2、字典的創建
方法一,前期綁定:
這個方法優點是代碼提示功能,缺點是在其他電腦上運行這個vba代碼不能夠運行(解決辦法,在運行PC上前期綁定)
工具 --> 引用 ---> 勾選 "Microsoft Scripting Runtime"


方法二,后期綁定:
這個方法優點是可以在其他電腦上運行Vba代碼,缺點是沒有提示功能。
輸入如下代碼進行綁定:
Dim dic As Object
Set dic = CreateObject("scripting.dictionary")
3、字典的屬性
①、CompareMode,當添加key時對key為大小寫是否敏感,默認是為 0 不明感。
測試如下:

②、Exists,用來判讀字典中是否存在一個key,如果存在返回True 否則 返回 False

③、Count,獲取字典中有多少個元素,返回數值
測試如下:

4、字典的方法
①、Add,向字典中添加數據
dic.add "A","123"
②、Key,根據Key來修改key

③、Item,根據Key來修改Itme的值
dic.Item("A") = 2 等價 dic("A") = 2

④、Keys,獲取所有的key 組成一個集合,通過循環可以獲取每個Key
注意 str 要定義為一個 Variant

⑤、Items,獲取所有的item 組成一個集合,通過循環可以獲取每個Item
... ...
⑥、Remove,刪除指定的key鍵值對
dic.Remove("A")
⑦、RemoveAll,清空字典
dic.RemoveAll
