ARTICLE · 1218367
AI+WPS 表格|VBA 入门第 1 篇:代码小白,打造专属表格自动化工具
AI+WPS 表格|VBA 入门第 1 篇:代码小白,打造专属表格自动化工具
⭐点个关注,我们共同进步~
周末嗖的一下就过去啦,上班第二天和大家分享好用的办公小技巧~前面和大家预告的 WPS VBA 系列,今天正式开更,欢迎多多交流,一起进步!
❝导语: 每次整理台账、合并表格、批量修改格式,反复点击几十次鼠标?现在借助 AI,就算是代码小白,也能用 VBA 制作自动化脚本,一键处理表格重复工作,大幅提升办公效率。我们一起从零开启自动化办公新旅程吧!
示例数据
老样子还是以一个简单的案例,详细展开。需求:通过VBA,给下面的《员工物品领用台账》最前面增加“序号”列,并填充序号,同时加粗标题行。

一、VBA是什么?
VBA全称Visual Basic for Applications,是内嵌在WPS/Excel里的编程语言。 我们平时手动复制粘贴、筛选、合并工作表、批量改单元格格式,这些重复动作,都可以写成VBA代码,让软件自动执行一系列鼠标、键盘操作。
适用场景
适合大量重复、固定流程的表格工作:
多工作表合并 批量清理文本、拆分单元格内容 批量设置单元格颜色、字体、边框条件标注 自动跨表匹配数据,批量回填信息 一键导出、打印多个表格......
VBA优势
固定流程的工作代码,可重复运行,不用反复操作 处理上千行、多张工作表时,速度远快于手动操作 减少人工复制粘贴带来的失误 内嵌在WPS,不需要额外安装软件
二、VBA使用环境准备
最新版的WPS个人版是自带VBA功能,一般无需另外安装或者开通使用,但需先切换到VB环境才能使用VBA(第一次打开VB环境时会自动安装插件)。下面详细和大家说一下具体操作步骤:
在顶部菜单找到【工具】,点击 在展开菜单中点击【开发工具】 
找到并点击【切换到VB环境】(首次打开等待插件加载成功后,重启wps表格,重复前面步骤) 

此时可看到【VB编辑器】 
三、利用豆包AI生成VBA代码
重点在于说清楚业务需求,AI帮你生成完整VBA代码,不用自己背语法。
写提示词,必须说清楚的关键信息
软件:是WPS表格还是微软Excel(两者VBA有细微差异) 需处理表格的文件地址(如"C:\Users\Lenovo\Desktop\示例数据"),涉及多表格处理,最好建一个文件夹 工作表名称:准确写表名(注意空格,表名多空格代码直接报错) 单元格范围/列号:A列、B列,行从第几行开始(标题一般第1行) 业务逻辑:做什么,保留什么、哪些数据不能删除 附加要求:是否需要弹窗提示、保留原格式、报错提醒
给豆包的提示词模板
帮我写一段WPS VBA代码,要求:软件:WPS表格(个人版)文件地址:C:\Users\Lenovo\Desktop\示例数据的XXX.xlsx(按实际情况修改)工作簿内工作表名称:xxx、xxx、xxx(如涉及多个工作标签)需求: 1.xxx 2.xxx要求:①代码加注释,每一步说明作用②运行完成弹出提示框“执行完毕”③如果遇到错误,弹窗提示错误信息④代码不要删除原有数据,尽量不改动原有表格格式
以示例数据举例
给豆包的提示词帮我写一段WPS表格VBA宏代码,需求: 将位于"C:\Users\Lenovo\Desktop\示例数据",文件名为"员工物品领用台账"的表格修改如下:
在A列插入一列,A1单元格填写文字“序号”; A2单元格开始,有数据的行自动生成连续自然数序号; 将第1行表头全部设置字体加粗; 代码要加注释,尽量简单,兼容WPS个人版,运行完成弹出提示“序号填充完成!”
豆包生成代码
Sub 插入序号并设置表头()'===== 变量声明 ===== Dim wb As Workbook Dim ws As Worksheet Dim filePath As String Dim lastRow As Long '文件完整路径 filePath = "C:\Users\Lenovo\Desktop\示例数据\员工物品领用台账.xlsx"'===== 打开目标工作簿 ===== On Error GoTo ErrHandle '捕获文件不存在等错误 Set wb = Workbooks.Open(filePath) Set ws = wb.Sheets(1) '操作第一个工作表 '===== 在A列插入新列 ===== ws.Columns("A").Insert Shift:=xlToRight ws.Range("A1").Value = "序号"'A1写入表头文字 '===== 获取最后有数据的行号(B列作为基准,因为A刚插入,原数据全部右移到B列开始) ===== lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row'===== 填充连续序号:A2开始到最后一行 ===== If lastRow >= 2 Then ws.Range("A2:A" & lastRow).Formula = "=ROW()-1" 'ROW()-1 生成1,2,3... ws.Range("A2:A" & lastRow).Value = ws.Range("A2:A" & lastRow).Value '公式转为纯数值 End If '===== 设置第1行全部字体加粗 ===== ws.Rows("1").Font.Bold = True'===== 保存文件 ===== wb.Save wb.Close SaveChanges:=False '已经Save,这里不再重复保存'===== 运行成功弹窗提示 ===== MsgBox "序号填充完成!", vbInformation Exit SubErrHandle: '错误捕获:文件找不到/打开失败提示 MsgBox "运行出错!检查文件路径或者文件名是否正确" & vbCrLf & Err.Description, vbCriticalEnd Sub四、运行VBA
新建一个Excel表格 打开VB编辑器:顶部菜单【开发工具】→【VB编辑器】(或快捷键: Alt + F11)
新建模块:在VBA编辑器窗口,左侧工程右键 →【插入】→【模块】 
将豆包生成的代码就粘贴在模块窗口里 点击VB编辑器中的“运行”按钮 
运行结果如下:(出来的结果在格式上还可以再优化下,可以进一步将优化提示词告诉豆包,重新生成代码运行,大家可以动手试试) 

五、保存VBA,实现代码重复使用
普通.xlsx格式无法存储宏(VBA代码),需将文件保存为启用宏的工作簿
点击【文件】→【另存为】 保存类型选择: *.xlsm(WPS启用宏的工作簿)保存完成,文件后缀是 .xlsm,这个文件里的VBA代码会永久保存
❝注意:下次打开xlsm文件,WPS顶部会提示【启用宏】,必须点启用宏,代码才能运行。不启用宏,代码不会生效。并且如果文件夹或表格名称有变化,也需要在代码手动做相应修改。















































































