夜雨聆风学习资料网

ARTICLE · 1218367

AI+WPS 表格|VBA 入门第 1 篇:代码小白,打造专属表格自动化工具

AI+WPS 表格|VBA 入门第 1 篇:代码小白,打造专属表格自动化工具

周末嗖的一下就过去啦,上班第二天和大家分享好用的办公小技巧~前面和大家预告的 WPS VBA 系列,今天正式开更,欢迎多多交流,一起进步!

❝导语: 每次整理台账、合并表格、批量修改格式,反复点击几十次鼠标?现在借助 AI,就算是代码小白,也能用 VBA 制作自动化脚本,一键处理表格重复工作,大幅提升办公效率。我们一起从零开启自动化办公新旅程吧!

示例数据

老样子还是以一个简单的案例,详细展开。需求:通过VBA,给下面的《员工物品领用台账》最前面增加“序号”列,并填充序号,同时加粗标题行。

一、VBA是什么?

VBA全称Visual Basic for Applications,是内嵌在WPS/Excel里的编程语言。 我们平时手动复制粘贴、筛选、合并工作表、批量改单元格格式,这些重复动作,都可以写成VBA代码,让软件自动执行一系列鼠标、键盘操作。

适用场景

适合大量重复、固定流程的表格工作:

  1. 多工作表合并
  2. 批量清理文本、拆分单元格内容
  3. 批量设置单元格颜色、字体、边框条件标注
  4. 自动跨表匹配数据,批量回填信息
  5. 一键导出、打印多个表格......

VBA优势

  1. 固定流程的工作代码,可重复运行,不用反复操作
  2. 处理上千行、多张工作表时,速度远快于手动操作
  3. 减少人工复制粘贴带来的失误
  4. 内嵌在WPS,不需要额外安装软件

二、VBA使用环境准备

最新版的WPS个人版是自带VBA功能,一般无需另外安装或者开通使用,但需先切换到VB环境才能使用VBA(第一次打开VB环境时会自动安装插件)。下面详细和大家说一下具体操作步骤:

  1. 在顶部菜单找到【工具】,点击
  2. 在展开菜单中点击【开发工具】
  3. 找到并点击【切换到VB环境】(首次打开等待插件加载成功后,重启wps表格,重复前面步骤)
  4. 此时可看到【VB编辑器】

三、利用豆包AI生成VBA代码

重点在于说清楚业务需求,AI帮你生成完整VBA代码,不用自己背语法。

写提示词,必须说清楚的关键信息

  1. 软件:是WPS表格还是微软Excel(两者VBA有细微差异)
  2. 需处理表格的文件地址(如"C:\Users\Lenovo\Desktop\示例数据"),涉及多表格处理,最好建一个文件夹
  3. 工作表名称:准确写表名(注意空格,表名多空格代码直接报错)
  4. 单元格范围/列号:A列、B列,行从第几行开始(标题一般第1行)
  5. 业务逻辑:做什么,保留什么、哪些数据不能删除
  6. 附加要求:是否需要弹窗提示、保留原格式、报错提醒

给豆包的提示词模板

帮我写一段WPS VBA代码,要求:软件:WPS表格(个人版)文件地址:C:\Users\Lenovo\Desktop\示例数据的XXX.xlsx(按实际情况修改)工作簿内工作表名称:xxx、xxx、xxx(如涉及多个工作标签)需求: 1.xxx 2.xxx要求:①代码加注释,每一步说明作用②运行完成弹出提示框“执行完毕”③如果遇到错误,弹窗提示错误信息④代码不要删除原有数据,尽量不改动原有表格格式

以示例数据举例

给豆包的提示词帮我写一段WPS表格VBA宏代码,需求: 将位于"C:\Users\Lenovo\Desktop\示例数据",文件名为"员工物品领用台账"的表格修改如下:

  1. 在A列插入一列,A1单元格填写文字“序号”;
  2. A2单元格开始,有数据的行自动生成连续自然数序号;
  3. 将第1行表头全部设置字体加粗;
  4. 代码要加注释,尽量简单,兼容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

  1. 新建一个Excel表格
  2. 打开VB编辑器:顶部菜单【开发工具】→【VB编辑器】(或快捷键:Alt + F11)
  3. 新建模块:在VBA编辑器窗口,左侧工程右键 →【插入】→【模块】
  4. 将豆包生成的代码就粘贴在模块窗口里
  5. 点击VB编辑器中的“运行”按钮
  6. 运行结果如下:(出来的结果在格式上还可以再优化下,可以进一步将优化提示词告诉豆包,重新生成代码运行,大家可以动手试试)

五、保存VBA,实现代码重复使用

普通.xlsx格式无法存储宏(VBA代码),需将文件保存为启用宏的工作簿

  1. 点击【文件】→【另存为】
  2. 保存类型选择:*.xlsm(WPS启用宏的工作簿)
  3. 保存完成,文件后缀是.xlsm,这个文件里的VBA代码会永久保存
❝注意:下次打开xlsm文件,WPS顶部会提示【启用宏】,必须点启用宏,代码才能运行。不启用宏,代码不会生效。并且如果文件夹或表格名称有变化,也需要在代码手动做相应修改。
⭐点个关注,我们共同进步~

相关学习资料