很多人写 VBA 卡住,不是因为循环不会写,而是因为该用字典的地方用了两层循环。数据量一上来,代码跑得比手动还慢。这套番外篇主题很单一——就是把字典(Dictionary)这件事讲透,不讲别的。

先确认你缺的是不是这块

如果你写过下面这类代码,这门课对得上你的问题:

  • 用 For 嵌套 For 做两表比对,几千行就开始卡;
  • 想按条件去重,只能排序后手工删,或者用高级筛选绕一圈;
  • 统计不重复的客户、部门、物料编码数量,不知道怎么写才快;
  • 想把一维清单按关键字拆成多张表、多个工作簿,只会一条条判断;
  • 听过“字典”这个词,但只知道 d.Add 和 d.Exists,搞不清 d.Item 赋值和 Add 的区别,遇到“键已存在”就报错。

反过来,如果你连 VBA 的变量、循环、Range 取值都还不熟,先补基础再来,这门课默认你能看懂基本的 Sub 和 For Each。

字典的核心不是语法,是“键值映射”这个思路

字典的语法就那么几条,一页纸能写完,难的是判断什么时候该把问题翻译成“键—值”模型。同一份数据,键选谁、值存什么,直接决定代码是十行还是五十行。选“姓名”做键还是“姓名+日期”拼接做键,结果完全不同。

课程按实战案例推进,重点落在几类反复出现的活上:多表数据的匹配与合并、按条件汇总计数、不重复值提取、按字段拆分数据到不同工作表或文件、跨表查漏比对。这些正是日常做报表、对账、整理台账时最耗时间的地方。跟着做一遍,你会慢慢形成条件反射:看到“按某个字段归堆”就先想字典,而不是先想循环。

配套的章节笔记适合课后复盘。建议不要只看,边看边把案例数据换成自己手头的表跑一遍——报错和调参的过程才是真正记住的地方。

建议怎么学

  • 按顺序看,前面的键值基础没弄懂,后面拆表、合并的案例会跟不上;
  • 每个案例先自己想一遍思路,再对照讲解,看差在哪一步;
  • 重点看“为什么这样选键”,而不是抄代码;
  • 学完挑一个自己工作里真实的表,重写一遍原来的笨办法。

看完应该能回答这几个问题

  • d.Add 和 d(key)=value 在键重复时表现有什么不同,什么时候该用哪个?
  • 为什么字典可以做去重和计数,它的查找复杂度比双层循环好在哪里?
  • 两个表要做匹配,用字典怎么写,用 VLOOKUP 又会在什么场景下不合适?
  • 键需要由多个字段组合时,怎么拼接才不会误判?
  • 把结果一次性写回单元格,和循环里一格一格写,速度差多少?

能把这些讲清楚,说明字典这块你是真的补上了,而不是又抄了几段看得懂、写不出的代码。


这是一套由曾贤志主讲的Excel VBA编程课程,专注于字典技术的应用。课程深入浅出,通过实际案例帮助你掌握VBA的强大功能。

课程推荐

《【曾贤志】[第3季]EXCEL VBA编程番外篇——字典技术实战》这是一套由曾贤志主讲的Excel VBA编程课程,专注于字典技术的应用。课程深入浅出,通过实际案例帮助你掌握VBA的强大功能。【技能收获】学完可掌握:EXCEL、VBA、字典技术。课程以实战为导向,覆盖从基础概念到完整项目落地的关键步骤,配套章节笔记便于课后复盘与面试前快速回顾。【学习建议】建议按目录顺序逐节学习,重点章节可反复观看;学完后整理一份技术笔记或博客,将所学转化为可展示的项目经验。【就业发展】可面向岗位:Linux 运维工程师、SRE、云计算工程师、DevOps 工程师。云原生与自动化运维仍是企业 IT 刚需方向,认证 + 实战项目组合能显著提升面试通过率,适合向中高级运维或架构岗进阶。 若你已有一定编程或运维基础,本课程可帮助你在现有技能栈上快速叠加热门方向能力,提升求职时的项目说服力与薪资谈判空间。

视频目录(9 节)

*   1 1.1 看看字典到底是个啥?.mp4

*   2 1.2 字典的内容获取与修改.mp4

*   3 1.3 字典应用1(提取首次记录).mp4

*   4 1.4 字典应用2(提取最后一次记录).mp4

*   5 1.5 字典应用3(最后1条记录进阶).mp4

*   6 1.6 字典应用4(单列数据统计).mp4

*   7 1.7 字典应用5(多列数据统计).mp4

*   8 1.8 字典应用6(向字典项目中写入动态数组).mp4

*   9 1.9 字典应用7(向字典项目中写入动态数组进阶).mp4