ARTICLE · 1325838
AI 时代,Excel VBA 还有必要学吗?
「VBA 过时了」这句话,这几年听得越来越多。
理由也确实充分:跟 AI 说一句话就能拿到一段宏代码,Copilot 这类工具顺手给出自动化方案,Power Query、Office Scripts 一个比一个新。既然工具已经替你把代码写好了,还花时间啃一门上世纪的语言,图什么?
我的答案很明确:不是所有人都需要学。但如果你天天和业务表格打交道,懂一点 VBA 依然是张很实用的底牌——只是学的理由,和十年前完全不一样了。
一、以前学 VBA,是为了「写得出来」
批量汇总、自动对账、一键生成报表、批量导出文件,每一条自动化流程都得自己敲代码、查语法、反复调试。门槛不低,不少人卡在某一条报错上就放弃了。
那时候,会写宏就等于能把活儿自动化。
二、AI 把「写代码」这件事变便宜了
把需求描述清楚,大模型几秒钟就能给出一段 VBA。格式调整、批量复制、简单统计,哪怕完全不懂代码,复制粘贴进去也可能直接跑通。
于是很自然地冒出一个念头:既然 AI 会写,我何必再学?
三、问题在于,AI 交给你的是代码,不是责任
它没参加过你的业务会,不知道「金额为零要单独标出来」「这张表月底会多出空行」「跨表匹配得按工号,不能按姓名」。
所以 AI 写出来的脚本,常常是表面跑得通、暗处留着坑:没考虑边界条件、没做异常判断、碰到特殊格式直接崩。更麻烦的是数据被悄悄算错了,程序一声不响,报表照常出。
完全看不懂 VBA 的人,遇到报错只能反复追问、反复重试;结果不对,也分不清是数据本身脏了,还是代码写歪了。
AI 是效率很高的写手,但最后签字验收的只能是你自己。
四、还有一大批跑了十几年的老文件
财务、仓管、内审的电脑上,躺着大量跑了十年以上的 xlsm:工资核算、库存台账、对账系统、质检模板,每天照常运转。
这些文件里藏着前任埋下的业务规则——某个说不清来历的系数、一段没人敢动的判断、一个只有老员工讲得明白的例外。AI 能读懂代码,却读不出这些规则背后的来龙去脉。
接手老模板、改一条口径、查一个隐性 bug,不懂 VBA 就只能将就着用,或者花一笔不小的成本推倒重来。存量资产的维护,目前没有捷径。
五、有些活,目前还只能在桌面端干
单元格一改动就自动触发计算、自定义录入窗体 UserForm、本地批量读写文件、联动 Word 和 Outlook 发邮件……
Office Scripts 走的是网页和云端路线,没有事件机制,也做不了自定义窗体,替代不了 VBA 在本地桌面上的深度交互。这类离线、强交互、要和本机其他软件打交道的场景,暂时还是 VBA 的主场。
六、所以,谁该学、谁不必
✅ 值得花点时间:财务、仓管、运营、数据内勤;长期跑固定流程、经常接手老宏文件、需要离线稳定自动化的人。重点放在看懂逻辑、定位报错、改得动代码,语法不用背全。
❌ 不必深磕:偶尔才碰一次表格、做一次性临时整理。公式、Power Query,加上让 AI 生成脚本,已经够用,没必要投入大量精力。
七、AI 换掉了理由,没换掉价值
从前学 VBA,是为了自己写得出来;现在学 VBA,是为了看得懂、控得住、改得动、出事能兜底。
比较顺手的分工是:让 AI 承担枯燥的编码,人拿 VBA 底子把业务逻辑、结果校验和突发状况接住。工具会一直换,但能看懂底层在发生什么的人,不容易被工具牵着走。
新的自动化方案当然会越来越多。但在相当长一段时间里,VBA 还会留在各行各业的办公桌面上——它不新潮,却足够扎实。学它不为赶潮流,就为碰到一张复杂的表时,心里有底。














































































