菜鸟也能懂的Excel VBA字典入门指南

作者:网络
左侧宽880
左侧宽880

亲爱的小白们,还在为数据查找和分类统计发愁吗?今天我要介绍一个超级实用的"神器"——VBA字典!它就像我们平常查的字典一样,只不过不是查""能找到"苹果",而是可以帮你快速找到"张三的工资是多少"这样的问题!

一、什么是字典?

想象一下你手里有一本魔法词典:

这就是字典的基本概念!它能让你用超快的速度找到你要的信息,比的函数不知道高到哪里去了!

二、创建你的第一个字典

不要吃惊!VBA里完全可以使用中文变量,对新手来说,可以极大地降低学习难度。本人以VBA编程为生,写了几十万行的中文变量代码,老婆孩子都靠这些代码挣来的。所以,不要相信网上那些说"必须用英文变量"的鬼话!

Sub 字典入门示例()      '声明一个字典变量      Dim 我的字典 As Object      '创建字典对象(记得先引用Microsoft Scripting Runtime)      Set 我的字典 = CreateObject("Scripting.Dictionary")          '往字典里添加数据,就像往书包里放书一样简单!    我的字典.Add "张三", "8000元"      我的字典.Add "李四", "9000元"      我的字典.Add "王五", "10000元" Sub 字典入门示例()  
    '声明一个字典变量  
    Dim 我的字典 As Object  
    '创建字典对象(记得先引用Microsoft Scripting Runtime)  
    Set 我的字典 = CreateObject("Scripting.Dictionary")  
    
    '往字典里添加数据,就像往书包里放书一样简单!
    我的字典.Add "张三", "8000元"  
    我的字典.Add "李四", "9000元"  
    我的字典.Add "王五", "10000元"  
    
    '查询数据就像翻书一样容易  
    MsgBox "张三的工资是:" & 我的字典("张三")  
End Sub         '查询数据就像翻书一样容易      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

五、使用技巧和注意事项

别忘了引用库工具 → 引用 → 找到" "不想引用?用(".")照样可以!Key必须是唯一的就像一个人不能有两个身份证号一样重复添加会报错,要用方法清空字典

我的字典.RemoveAll  '周末到了,清空打卡记录

六、实战应用场景

成绩查询系统Key:学号:(姓名, 语文, 数学, 英语)库存管理Key:商品编号:(商品名, 数量, 单价)员工考勤统计Key:工号:(打卡时间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#

八、总结

字典就像是中的"百宝箱",掌握了它,你就能:

记住:工欲善其事,必先利其器。熟练运用字典,让你的 VBA技能直接起飞!

九、练习题

试着用字典统计一列数据中每个值出现的次数用字典制作一个简单的通讯录结合字典和工作表,制作一个成绩查询系统

十、当然也可以直接在VBA代码助手中直接提问

代码助手下载地址

VBA代码助手AI代码生成器大提速

标签: ExcelVBA 字典入门 数据查找 分类统计 编程技巧

左侧宽880
左侧宽880