别把 VBA 当“录制宏”,它是对象模型的硬核拆解

很多做数据分析、财务或者运营转岗的人,对 VBA 的认知停留在“录制一段宏去去重、合并单元格”,真遇到批量文件处理或者复杂条件筛选时,录制出来的代码全是 Select 和 Activate,稍微改一点逻辑就报错。这门课解决的就是这种“只会录制不会写代码”的能力断层。它没有花里胡哨的自动化炫技,而是从 VBE 编程环境起步,老老实实拆解 VBA 的语法基础,然后直接切入 Excel 最核心的对象模型。如果你现在面对几十个结构一样的 Excel 报表还在手动复制粘贴,或者写不出一段能遍历指定文件夹并提取数据的循环代码,那这门课就是缺什么补什么。它适合有一定 Excel 函数基础、能看懂简单逻辑代码,但没系统学过面向对象概念的转岗人员;如果你连相对引用和绝对引用都分不清,建议先补基础再来看。

先啃对象模型,再碰语法细节

看这套资料不要从头到尾顺着目录看,建议直接跳到 Application、Workbook、Worksheet 和 Range 这四大对象模块先看。VBA 的本质就是操作 Excel 的对象树,Application 是根节点,往下是工作簿、工作表、单元格。把这几个对象的层级关系和常用属性方法理清,你写代码时脑子里才会有“路径感”,知道 Range("A1") 到底从属于哪个工作表,而不是盲目依赖当前活动窗口。语法基础那块可以结合对象模型一起看,遇到变量声明、循环判断结构时,立刻回到对象模块里写几行测试代码。不要干看视频,每看完一个对象,马上打开本地 VBE 窗口,照着习题课里的思路,自己写一段遍历当前所有打开的工作簿并打印名字的代码。资料包里的习题课不是让你听老师念答案的,是给你提供调试断点练习的靶子。

学完能独立做什么,以及怎么用资料查漏

看完这套课,你应当能独立写出带有用户窗体交互的批量数据处理工具,比如把某个目录下所有 Excel 文件的指定 Sheet 汇总到一个总表里,并在汇总过程中对异常数据做标红预警;或者写一段自动化排版脚本,按业务规则统一设置多份报表的行高列宽。更重要的是,你应当能看懂别人写的 VBA 代码,知道在哪一行下断点,怎么用立即窗口查变量的值。资料包里的内容不要当成连续剧一口气刷完,把它当字典用:第一节和第二节配对看,看完立刻在本地建个空工作簿跟着敲一遍;对象模型那几节是核心,看完后自己给自己出个题,比如“删除当前工作簿里所有隐藏的工作表”,如果卡壳了,再回去定位 Worksheet 对象的 Visible 属性那一段。代码报错不可怕,可怕的是连报错框里的英文提示都看不懂就放弃。遇到类型不匹配或者下标越界,别急着问人,先去资料里对应的基础语法和 Range 对象章节找答案,这才是查漏补缺的正确姿势。

课程目录

1-1 [VBA编程环境] VBA编程环境 (25:11)
1-2 [VBA编程环境] VBA编程环境习题 (23:11)
2-1 [VBA语法基础] VBA语法基础 (22:26)
2-2 [VBA语法基础] VBA语法基础习题 (13:44)
3-1 [Excel Application对象] Application对象 (17:05)
3-2 [Excel Application对象] Application对象习题 (09:16)
4-1 [Workbook对象] Workbook对象 (24:21)
4-2 [Workbook对象] Workbook对象习题 (11:07)
5-1 [Worksheet对象] Worksheet对象 (18:59)
5-2 [Worksheet对象] Worksheet对象习题 (16:51)
6-1 [Range对象] Range对象 (20:57)
6-2 [Range对象] Range对象习题 (16:13)
7-1 [窗体与控件] 用户窗体和控件 (23:35)
7-2 [窗体与控件] 用户窗体和控件习题 (14:16)
8-1 [制作加载宏] 制作加载宏 (21:06)
8-2 [制作加载宏] 制作加载宏习题 (12:07)
9-1 [自定义菜单栏和工具栏] 自定义菜单栏和工具栏 (28:03)
9-2 [自定义菜单栏和工具栏] 自定义菜单栏和工具栏习题 (10:14)
10-1 [操作其他Excel对象] 操作其他Excel对象 (12:55)
10-2 [操作其他Excel对象] 操作其他Excel对象习题 (06:43)
11-1 [操作文件和文件夹] 操作文件和文件夹 (18:10)
11-2 [操作文件和文件夹] 操作文件和文件夹习题 (08:36)
12-1 [ADO-SQL与数据库操作] ADO-SQL与数据库操作 (18:23)
12-2 [ADO-SQL与数据库操作] ADO-SQL与数据库操作习题 (12:07)
13-1 [自定义功能区] 自定义功能区 (34:44)
13-2 [自定义功能区] 自定义功能区习题 (11:04)
14-1 [操作VBE工程] 操作VBE工程 (17:43)
14-2 [操作VBE工程] 操作VBE工程习题 (09:11)
15-1 [操作注册表] 操作注册表 (11:57)
16-1 [操作其他Office程序] 操作其他Office程序 (09:44)
17-1 [使用正则表达式] 使用正则表达式 (19:07)
17-2 [使用正则表达式] 使用正则表达式习题 (09:40)
18-1 [使用字典] 使用字典 (10:28)
18-2 [使用字典] 使用字典习题 (03:23)
19-1 [使用API] 使用API (15:16)
19-2 [使用API] 使用API习题 (09:51)
20-1 [其他Office组件的VBA] 其他Office组件的VBA (11:19)
20-2 [其他Office组件的VBA] 其他Office组件的VBA习题 (09:42)