2000元课程
免费学7天
函数+VBA
亲爱的Excel小白们,还在为数据查找和分类统计发愁吗?今天我要介绍一个超级实用的"神器"——VBA字典!它就像我们平常查的字典一样,只不过不是查"apple"能找到"苹果",而是可以帮你快速找到"张三的工资是多少"这样的问题!
一、什么是字典?
想象一下你手里有一本魔法词典:
左边是关键词(Key):比如"张三"
右边是对应的值(Value):比如"8000元"
这就是字典的基本概念!它能让你用超快的速度找到你要的信息,比Excel的VLOOKUP函数不知道高到哪里去了!
二、创建你的第一个字典
不要吃惊!VBA里完全可以使用中文变量,对新手来说,可以极大地降低学习难度。本人以VBA编程为生,写了几十万行的中文变量代码,老婆孩子都靠这些代码挣来的。所以,不要相信网上那些说"必须用英文变量"的鬼话!
Sub 字典入门示例()
'声明一个字典变量
Dim 我的字典 As Object
'创建字典对象(记得先引用Microsoft Scripting Runtime)
Set 我的字典 = CreateObject("Scripting.Dictionary")
'往字典里添加数据,就像往书包里放书一样简单!
我的字典.Add "张三", "8000元"
我的字典.Add "李四", "9000元"
我的字典.Add "王五", "10000元"
'查询数据就像翻书一样容易
MsgBox "张三的工资是:" & 我的字典("张三")
End Sub
三、字典的日常操作大全
1. 检查"书包"里有没有这本书
If 我的字典.Exists("张三") Then
MsgBox "找到张三啦!"
Else
MsgBox "张三今天请假了?"
End If
2. 修改数据(给张三加薪!)
我的字典("张三") = "10000元" '张三升职加薪啦!
3. 删除数据(李四离职了)
我的字典.Remove "李四" '李四拜拜👋
4. 统计字典里有多少条数据
MsgBox "公司现在还有" & 我的字典.Count & "个人"
四、实用小案例:员工信息快速查询系统 🔍
Sub 员工信息查询系统()
Dim 员工信息 As Object
Set 员工信息 = CreateObject("Scripting.Dictionary")
'添加员工信息(用数组来存储更多信息)
员工信息.Add "张三", Array("研发部", "8000元", "13888888888")
员工信息.Add "李四", Array("市场部", "9000元", "13999999999")
'查询界面
Dim 查询姓名 As String
查询姓名 = InputBox("请输入要查询的员工姓名:")
If 员工信息.Exists(查询姓名) Then
With 员工信息(查询姓名)
MsgBox "找到啦!" & vbNewLine & _
"部门:" & .Item(0) & vbNewLine & _
"工资:" & .Item(1) & vbNewLine & _
"电话:" & .Item(2)
End With
Else
MsgBox "查无此人!"
End If
End Sub
五、使用技巧和注意事项
别忘了引用库
工具 → 引用 → 找到"Microsoft Scripting Runtime"
不想引用?用
CreateObject("Scripting.Dictionary")
照样可以!
Key必须是唯一的
就像一个人不能有两个身份证号一样
重复添加会报错,要用Replace方法
清空字典
我的字典.RemoveAll '周末到了,清空打卡记录
六、实战应用场景
成绩查询系统
Key:学号
Value:Array(姓名, 语文, 数学, 英语)
库存管理
Key:商品编号
Value:Array(商品名, 数量, 单价)
员工考勤统计
Key:工号
Value:Collection(打卡时间1, 打卡时间2...)
七、小白进阶秘籍
遍历字典的两种方式
'方式一:遍历所有的Key
For Each k In 我的字典.Keys
Debug.Print k & ": " & 我的字典(k)
Next k
'方式二:遍历所有的Value
For Each v In 我的字典.Items
Debug.Print v
Next v
字典的键值可以是任何类型
'数字作为Key
我的字典.Add 1, "第一名"
'日期作为Value
我的字典.Add "开学日期", #9/1/2024#
八、总结
字典就像是Excel中的"百宝箱",掌握了它,你就能:
比VLOOKUP查得更快
比数组用起来更方便
比循环遍历效率更高
记住:工欲善其事,必先利其器。熟练运用字典,让你的Excel VBA技能直接起飞!
九、练习题
试着用字典统计一列数据中每个值出现的次数
用字典制作一个简单的通讯录
结合字典和工作表,制作一个成绩查询系统
十、当然也可以直接在VBA代码助手中直接提问
代码助手下载地址 vbayyds.com
VBA代码助手AI代码生成器大提速
记住:代码写得多,bug才会少。快动手试试吧!
买课程可进永久答疑群,课程可免费试学点击下方链接即可