VBA(三)集合、字典
一、集合
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?