这年头,比 996 加班更让人崩溃的,是那种毫无意义、纯粹消耗生命的“复制粘贴式加班”。
昨天傍晚 5:50,隔壁工位的小李正准备背起他那个拉链都快磨破的瑞士军刀双肩包,打算冲刺赶上 6 点那趟难得不那么挤的地铁。结果老板一个连环夺命 Call 打过来,紧接着微信群里“叮当”一声,砸出了一个名为《各门店4月份一季度日销明细(未校对)》的压缩包。
老板留下了一句极其轻飘飘的话:“这里有 50 个分店每天的销售明细单,你今晚把它们全部汇总到一个总表里,去掉各店杂乱的表头,按日期重新排个序。明早 9 点半的高管会上我要看趋势图。”
小李当时看我的眼神,那叫一个生无可恋。
做过基层数据汇总的人都懂,这根本不是什么数据分析,这就是纯粹的体力活。你需要点开 50 个表格——选中数据区域(每次行数还不一样)——Ctrl+C——切回总表——Ctrl+V。中途如果漏掉一家店的表头没删干净,或者日期格式一个是 2026/04/01 一个是 4月1号,后面做数据透视表的时候直接原地爆炸,排查半天都找不出是哪行数据坏了这锅粥。
为了对付这种折磨,很多人咬牙花了几千块去报什么“Python 零基础办公自动化班”。坦白讲,老赛觉得这纯粹是被培训机构割了智商税。
你一个非技术人员,每天下班累得像狗一样,还要去配什么环境变量、去装 pandas 库、去学 for 循环和嵌套字典?等你在电脑上把环境调通,那 50 个表格早就手动复制完了。
到了 2026 年,打工人反击这种恶心加班最暴力、最直接的野路子,是用大模型去写 Excel 原生的 VBA(宏代码)。
(图:别管这个黑白界面看起来有多古老、多丑陋,它就是能一键完成你 3 个小时的工作量)
不需要你懂一行代码,只要你会用中国字,能向 AI 清晰地描述出你的痛点。
老赛今天不讲废话,直接手把手带你跑通这个流程。无论你是汇总表格、批量重命名文件,还是格式自动清洗,学会这套底层逻辑,以后这种烂活儿你 5 分钟搞定,剩下的时间安心摸鱼。
很多人用 AI 写代码失败,根本原因是把 AI 当成了人来沟通,说了半天没说到点子上。比如你跟 Kimi 说:“帮我把这些表合在一起”,AI 给出的代码绝对跑不通。
我们要给大模型设定明确的边界。这是老赛测试过无数次,针对 Excel 自动化最稳的一个万能公式:角色设定 + 数据现状 + 明确需求 + 格式限制。
你直接把这段话复制给 DeepSeek 或者 Kimi:
“你现在是一个有 10 年经验的资深 Excel VBA 专家。我完全不懂编程,你需要直接给我可运行的代码,不要任何解释废话。
我的现状:在
D:\门店数据文件夹下,有 50 个.xlsx格式的文件。我的需求:请帮我写一段 VBA 代码,把这 50 个表格中名为Sheet1的数据,全部汇总并复制到我当前打开的这个新建 Excel 总表的Sheet1里。特殊要求:
从第 2 行开始复制(跳过每个分店的第 1 行表头)。
合并后的数据不能有空行。
代码运行结束后,弹出一个弹窗告诉我‘老板,汇总完毕,共处理了 X 行数据!’”
(图:这是我把这段黑话喂给 AI 后,它 5 秒钟给我吐出来的完整代码,你连脑子都不用动)
AI 几十秒就会吐出一段密密麻麻的英文代码。别害怕,你完全不需要看懂它写的是什么。
打开你的 Excel(新建一个空白文档):
按下你键盘上的组合键 Alt + F11。这时候会弹出一个看着极其简陋的灰色界面(这叫 VBE 编辑器)。
在左侧白色的空白区域,右键点击 ThisWorkbook,选择 插入 -> 模块。
在右边出现的一大片空白区域里,把你刚才从 AI 那里复制的代码,原封不动地 Ctrl+V 贴进去。
(老赛为了防止有些兄弟连 AI 都懒得调,直接把这段价值 3 小时加班费的核心代码贴在下面了,直接拿去用)
Sub 批量合并同文件夹下所有工作簿的Sheet1()
Dim MyPath As String, MyName As String, AWbName As String
Dim Wb As Workbook, WbN As String
Dim G As Long, Num As Long, BOX As String
Application.ScreenUpdating = False '关闭屏幕刷新,提速
MyPath = "D:\门店数据\" '⚠️注意:这里必须改成你自己的实际文件夹路径!最后一定要带斜杠 \
MyName = Dir(MyPath & "*.xlsx")
AWbName = ActiveWorkbook.Name
Num = 0
Do While MyName <> ""
If MyName <> AWbName Then
Set Wb = Workbooks.Open(MyPath & MyName)
Num = Num + 1
With Workbooks(AWbName).ActiveSheet
'找到总表当前最后一行
Dim LastRow As Long
LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
'找到分店表的最后一行,从第二行开始复制(跳过表头)
Dim SourceLastRow As Long
SourceLastRow = Wb.Sheets(1).Cells(Wb.Sheets(1).Rows.Count, 1).End(xlUp).Row
If SourceLastRow >= 2 Then '确保有数据
Wb.Sheets(1).Range("A2:Z" & SourceLastRow).Copy .Cells(LastRow + 1, 1)
End If
End With
Wb.Close False '关闭分店表,不保存
End If
MyName = Dir
Loop
Application.ScreenUpdating = True
MsgBox "老板,搞定了!一共合并了 " & Num & " 个门店的表格,准备下班!", vbInformation, "老赛外挂提示"
End Sub
把上面的路径 D:\门店数据\ 改成你自己电脑上的真实路径(如果文件在桌面,路径通常是 C:\Users\你的用户名\Desktop\新建文件夹\)。
改好之后,直接在那个灰色窗口里,按下键盘顶部的 F5 键(或者点上方菜单栏那个绿色的“运行”三角形按钮)。
接下来,你要做的就是端起咖啡杯。你会看到屏幕可能会有轻微的闪烁,那是因为 Excel 正在后台以人类无法企及的速度,疯狂地打开文件、复制数据、关闭文件。
大概 5 到 10 秒钟后(取决于你的电脑配置有多破),一个写着“老板,搞定了!”的弹窗就会跳到你的屏幕正中央。
50 个表格、上万条数据,连一行空隙都没有,干干净净地躺在你的总表里。
[分享一次你被老板逼着做毫无意义的报表、或者因为填错一个数据被痛骂的惨痛经历吧,大家在评论区一起吐吐槽。]
虽然这套打法很残暴,但在国内复杂的办公环境下,很多人在第二步就会踩坑。老赛早就替你们排好雷了:
1. 按了 Alt+F11 没反应?或者代码贴进去不能跑?这大概率是因为你公司电脑装的是精简版的 WPS。WPS 个人免费版默认是不支持 VBA 宏的。
解法:要么去弄个带 VBA 模块的 WPS 专业版(网上有独立安装包);要么老老实实装回微软的 Microsoft Office(Excel 2016 以上版本都自带宏支持)。想搞自动化,工具的底子必须硬。
2. 弹出“由于安全设置,宏已被禁用”?
(图:新手最容易卡在这个黄条上,这其实是软件在拦截野生代码)
解法:这是 Excel 怕你中了勒索病毒。点击 Excel 左上角的 文件 -> 选项 -> 信任中心 -> 信任中心设置 -> 宏设置,勾选“启用所有宏”。(注意:干完活记得改回去,或者只信任你自己写的代码)。
3. 合并后的日期或者数字变成了“#####”?
解法:别慌,数据没丢,这只是单元格太窄显示不下。全选所有列,双击列中间的间隔线,自动调整列宽,数字马上就出来了。
说白了,AI 这个东西,它现在还无法完全取代那些懂人情世故、懂业务逻辑的资深打工人。但它绝对能取代那些“把人类当做人肉点读机和流水线机器”的工作环节。
别再被老板那种廉价的“吃苦耐劳”职场鸡汤洗脑了。苦难本身没有任何意义,能用工具降维打击解决的体力活,绝不浪费哪怕一秒钟的生命。
把你的需求精准喂给大模型,拿到代码直接跑。学会这一手,以后老板再扔烂摊子,你 5 分钟搞定,剩下的两个小时,你是用来光明正大地摸鱼,还是拿去接点线上的数据清洗外包单赚外快,它不香吗?
遇到特殊格式合并错乱的、不会写 Prompt 的,直接把你的源文件截图发到咱们内部搞钱交流群里,我在线帮你跑代码。还没进群的兄弟,私信我回复暗号【Excel】,直接拉你进群,再送你一套我整理好的“AI办公自动化进阶指令库”。