ARTICLE · 1081144
关于DeepSeek + Excel + VBA自动化办公的那些事
关于DeepSeek + Excel + VBA自动化办公的那些事不知道你有没有这种经历。 业务表格堆积几百上千行,重复复制、拆分、汇总,每天耗费两三个小时。 想学VBA自动化,翻遍教程,却卡在编程语法,迟迟无法落地。 很多人使用DeepSeek,只是简单丢一句:帮我写一段Excel宏。 最后得到的代码,经常报错、范围错乱、和自己表格结构不匹配,于是得出结论:AI写VBA不好用。 问题从来不在大模型,而在于缺少标准化的提示词框架。 不是让AI随便写代码,而是把表格结构、运行规则、容错要求完整告诉AI。 今天这篇文章,分享一套原创结构化提示词模板,不用懂编程,就可以稳定产出可直接粘贴运行的Excel‑VBA代码。 一、先理清:为什么大部分人写不好VBA提示词? 很多人的提问只有一句话,缺失关键要素: ❌错误示例: 帮我写VBA,合并表格。 这句话没有说明: 1. 文件来自哪个文件夹? 2. 是否需要跳过表头? 3. 结果放在新工作表,还是新建文件? 4. 如果单元格为空、文件损坏,程序要不要报错停止? AI只能依靠猜测生成代码,猜测越多,出错概率越高。 ✅一份合格的VBA提示词,必须包含五大模块: 角色定义 + 业务目标 + 表格结构 + 运行规则 + 代码规范要求。 把五项补齐,DeepSeek输出的代码成功率可以大幅提升。 二、通用VBA提示词标准模板(可直接复制) 【角色】你现在是Excel VBA资深开发工程师,只输出可以在Microsoft Excel运行的标准VBA代码,不要WPS专属语法。代码增加中文注释。 【业务目标】清晰描述你最终想要实现什么效果。 【表格结构说明】 当前工作簿信息: 工作表名称:XXX;表头在第X行; 数据范围:A列代表XX,B列代表XX,C列代表XX; 需要忽略空行/隐藏行:是或者否。 【运行规则】 1.运行前不需要弹窗确认 / 需要弹窗确认; 2.处理完成弹出提示框,显示一共处理多少行,成功多少条; 3.遇到错误不要直接崩溃,跳过异常数据,并且在弹窗输出错误说明; 4.生成的按钮:需要插入表单按钮,还是仅生成子程序,Alt+F11运行。 【代码规范】 1.尽量使用数组处理,避免逐单元格循环,提升大数据运行速度; 2.不要使用第三方插件,只用Excel原生对象; 3.代码首尾不需要多余介绍文字,代码块输出,关键步骤添加中文注释。 💡使用方法:复制整套模板,把【】里面的内容替换成自己业务,发给DeepSeek,得到VBA代码。 三、三套实战场景完整提示词范例 场景1:多Excel文件批量合并(财务人事高频) plaintext 【角色】你现在是Excel VBA资深开发工程师,只输出可以在Microsoft Excel运行的标准VBA代码,不要WPS专属语法。代码增加中文注释。 【业务目标】把指定文件夹内所有xlsx文件,全部合并汇总到当前工作簿新建的“汇总表”。 【表格结构说明】 每一个待合并文件,第一行是表头,表头只保留一次,不要重复复制; 有效数据从第二行开始。 【运行规则】 1.启动后弹出窗口,让我手动选择目标文件夹; 2.自动遍历文件夹下面全部Excel,不读取子文件夹; 3.处理结束弹窗提示,输出成功合并文件数量、总行数; 4.文件打开失败,跳过该文件,记录错误。 【代码规范】 1.优先数组读取,提升大批量文件速度; 2.只用Excel原生对象,不要调用第三方组件; 3.输出完整VBA子程序,添加中文注释。 拿到代码之后:Excel按下 Alt+F11 ,右键工程,插入模块,粘贴代码,按F5运行即可。 场景2:自定义工作表函数,按单元格背景色求和 很多版本Excel没有自带颜色求和,这个需求非常普遍。 plaintext 【角色】你现在是Excel VBA资深开发工程师,只输出可以在Microsoft Excel运行的标准VBA自定义函数,不要WPS专属语法。代码增加中文注释。 【业务目标】编写自定义函数SumColor,根据参考单元格底色,对目标区域相同底色数字求和。 【表格结构说明】 函数两个参数: 参数1:颜色参照单元格; 参数2:需要求和的数据区域。 【运行规则】 1.如果第一个参数选中多个单元格,返回错误值; 2.只统计区域当中数字,文本自动跳过; 3.单元格没有填充色则不计入; 【代码规范】 1.生成标准Function自定义函数,不是宏子程序; 2.增加必要容错,避免表格刷新时报错崩溃; 3.输出完整代码块,附带简单使用说明。 粘贴模块保存之后,单元格就可以输入公式 =SumColor(F2,B2:B100) 使用。 场景3:一键生成周报表头,自动排版格式 plaintext 【角色】你现在是Excel VBA资深开发工程师,只输出可以在Microsoft Excel运行的标准VBA代码,不要WPS专属语法。代码增加中文注释。 【业务目标】在当前工作表自动生成周报打印表头。 【表格结构说明】 A1‑C1:周报标题,合并居中; A2‑C2:报告日期,自动填入系统当前日期; 第四行开始生成列标题:部门、本周进度、下周计划、备注。 【运行规则】 1.标题字号14加粗,全部单元格加上黑色边框; 2.执行完成弹窗提示:周报表头创建完成; 3.不要改动工作表其他原有数据。 【代码规范】 1.原生VBA,不要插件依赖; 2.完整子程序,增加中文注释。 四、VBA代码导入Excel完整操作步骤 1.打开你的Excel表格,快捷键 Alt+F11 ,调出VBA编辑器。 2.左侧工程窗口,右键当前工作簿 →【插入】→【模块】。 3.把DeepSeek返回全部代码,复制粘贴到右侧空白编辑框。 4.按下F5测试运行。 ⚠️注意:文件另存为格式必须选择 .xlsm启用宏的工作簿,否则VBA代码将会丢失。普通xlsx格式不支持保存宏。 五、常见踩坑与优化技巧 1.如果代码报错:不要直接让AI重写,把报错文字发给DeepSeek,附上你的提示词和报错截图,让它调试修复,修复成功率远高于重新生成。 2.大数据量几百上千行,提示词里一定要写上优先数组运算,避免单元格循环,运行速度可以提升数十倍。 3.Office与WPS部分VBA语法存在差异,提示词开头明确指定Microsoft Excel,减少兼容问题。 4.不要把非常复杂项目一次性写完。大任务拆分,先写小模块测试,稳定之后再扩展新功能。 六、其他 DeepSeek并不会让你彻底抛弃Excel基础能力。 它更像一位不需要工资的VBA程序员,而提示词模板,就是你和这位程序员沟通的图纸。 图纸越清晰,交付成品越符合预期。 真正的效率,不是完全替代表格,而是把重复枯燥的机械劳动交给AI,把自己时间留给分析与决策。 你日常Excel最大痛点,是数据合并,格式批量调整,还是报表自动生成? 欢迎在评论区留下你的业务场景,我们可以试着把它改写成一套VBA提示词。 看到这里了,关注小编不迷路。