夜雨聆风学习资料网

ARTICLE · 1328242

用 AI 写 Excel VBA ①:零基础,第一行代码从哪来?

用 AI 写 Excel VBA ①:零基础,第一行代码从哪来?

系列名称:用 AI 写 Excel VBA|20 节零基础实战课

适用环境:Microsoft 365 / Excel 2016+ 桌面版,Windows(WPS 需另装 VBA 插件,Mac 部分 API 不支持)

阅读时长:约 8 分钟

难度:⭐(纯零基础可跟)



🎯 一句话成果

今天你什么都不用学,跟着做,30 秒内让 Excel 自动完成三件事:一键求和、批量加粗标题、隔行填色。全程不用写一行代码,AI 替你写,你只管复制粘贴。


📌 场景痛点

你是不是也有过这些瞬间:

  • 领导甩来 20 张表说"帮我汇总一下",你复制粘贴到手软
  • 每个月做日报,格式刷刷到怀疑人生
  • 想学 VBA 自动化,打开教程第一页就是"变量声明""循环结构",直接劝退

真相是:在 AI 时代,你不需要先学半年语法才能用 VBA。你只需要知道"宏是什么""代码贴哪儿""怎么跑起来",剩下的,让 AI 写。

今天就是帮你跨过那道门槛。


🧰 准备工作(1 分钟)

第一步:显示"开发工具"选项卡

  1. 打开 Excel,点击 文件 → 选项 → 自定义功能区
  2. 右侧主选项卡列表中,勾选 ✅ 开发工具
  3. 确定,菜单栏多出一栏"开发工具"

第二步:启用宏

  1. 文件 → 选项 → 信任中心 → 信任中心设置 → 宏设置
  2. 选择 ✅ 启用所有宏(或"禁用带通知",看你安全偏好)
  3. 确定

⚠️ 安全提醒:只对你自己写的或来源可信的宏启用。后续我们会专门用一讲讲宏安全红线。

第三步:保存为 .xlsm 格式

  1. 文件 → 另存为
  2. 保存类型选 Excel 启用宏的工作簿 (.xlsm)*
  3. 文件名随意,比如 AI_VBA_第一课.xlsm

不保存为 .xlsm,宏会直接丢失。 这是新手第一个坑,记住了。


🤖 这次用的提示词

打开你常用的 AI 工具(ChatGPT / Claude / 元宝 / 通义等),直接复制下面这段:

你是一个 Excel VBA 专家。请帮我写三个简单的宏,每个宏都要有中文注释,方便零基础理解:1. 一键求和:在"Sheet1"的 A1:A10 输入数字后,在 A11 用 Sum 公式求和2. 批量加粗:把"Sheet1"的第 1 行(A1 到最后一列)全部加粗3. 隔行填色:给"Sheet1"的 A1:D20 区域隔行填充浅蓝色(行号偶数行填色)要求:- 每个宏独立,用 Sub 包裹- 代码简洁,带逐行中文注释- 不要用到变量,尽量用最直接的方式写

把这段提示词丢给 AI,它会返回三段代码。下面我直接给你AI 会生成的结果,你不用等,直接往下看。

📋 AI 给的代码(完整可运行)

💡 复制提示:代码区的引号、冒号都是英文半角字符。从公众号复制时如果变成中文引号会报错,建议先粘贴到记事本,确认符号无误后再进 VBA 编辑器。

'================ 宏1:一键求和 ================Sub 一键求和()    '在A11单元格写入求和公式    Sheets("Sheet1").Range("A11").Formula = "=SUM(A1:A10)"    '提示完成    MsgBox "求和完成!A11 已显示 A1:A10 的总和。", vbInformationEnd Sub'================ 宏2:批量加粗标题行 ================Sub 批量加粗标题行()    '找到第1行有数据的最后一列    Dim lastCol As Long    lastCol = Sheets("Sheet1").Cells(1, Columns.Count).End(xlToLeft).Column    '将A1到最后一列的字体设为加粗    Sheets("Sheet1").Range("A1").Resize(1, lastCol).Font.Bold = True    MsgBox "第1行已加粗完成!", vbInformationEnd Sub'================ 宏3:隔行填色 ================Sub 隔行填色()    Dim i As Long    '循环第1行到第20行    For i = 1 To 20        '如果行号是偶数行        If i Mod 2 = 0 Then            '给该行A到D列填充浅蓝色            Sheets("Sheet1").Range("A" & i & ":D" & i).Interior.Color = RGB(220, 230, 241)        End If    Next i    MsgBox "隔行填色完成!", vbInformationEnd Sub

🔍 逐段拆解(关键 3 行)

不用全懂,先记住这几个核心骨架:

代码

它在干嘛

为什么重要

Sub 宏名() / End Sub

宏的"开始"和"结束"标记

所有 VBA 代码都必须包在 Sub 里面,就像文章要有开头和结尾

Sheets("Sheet1").Range("A11")

指定"对 Sheet1 的 A11 单元格做什么"

这是 VBA 的"对象路径":先说表,再说单元格,再说动作

For i = 1 To 20 ... Next i

循环:从 1 数到 20,每行都检查一遍

循环是自动化的灵魂,AI 特别擅长帮你写循环

你不需要背这些。 你只需要知道:AI 给你的代码,基本就是"指定对象 → 执行动作 → 循环处理"这个套路。


▶️ 怎么跑起来(跟着点就行)

  1. 在 Excel 中按 Alt + F11,打开 VBA 编辑器
  2. 左侧"工程资源管理器"中,右键点击你的工作簿名 → 插入 → 模块
  3. 把上面三段代码全部复制粘贴到右侧的白色编辑区
  4. 关闭 VBA 编辑器,回到 Excel
  5. 点击 开发工具 → 宏,会看到三个宏名:一键求和、批量加粗标题行、隔行填色
  6. 选中一个,点 执行

测试步骤:

  • 先在 Sheet1 的 A1:A10 随便输几个数字
  • 运行"一键求和",A11 出现总和
  • 运行"批量加粗标题行",第 1 行变粗
  • 运行"隔行填色",偶数行变浅蓝

🎉 恭喜!你刚刚执行了人生中第一段 VBA 代码,而且不是你写的。


⚠️ 坑与排错

如果你遇到……

原因

解决

宏列表里看不到我的宏

代码没放在"标准模块"里,放到了工作表模块

确认是右键工作簿 → 插入 → 模块,不是双击 Sheet1

运行时报错"下标越界"

你的工作表不叫"Sheet1"

把代码里所有 Sheets("Sheet1") 改成你实际的工作表名,比如 Sheets("销售数据")

代码粘贴后全是红色字

从公众号复制时引号变成了中文引号

把引号删掉重新用英文引号 " 输入

点了执行没反应

可能屏幕刷新被关了

在 VBA 编辑器里按 Ctrl+G 打开立即窗口,输入 Application.ScreenUpdating = True 回车

保存后重新打开,宏不见了

保存时没选 .xlsm 格式

另存为,选"Excel 启用宏的工作簿 (*.xlsm)"


📌 本讲小结

你今天学会了

对应能力

开启开发工具、启用宏、保存 .xlsm

搭建 VBA 运行环境

用一段提示词让 AI 生成代码

用自然语言"指挥"AI 写代码

把代码贴进模块并运行

完成"AI 生成 → 人工执行"的闭环

看懂报错并排查

建立"报错 = 路径或符号问题"的直觉

核心认知:你不需要先成为程序员才能用 VBA。你只需要当"产品经理"——告诉 AI 你要什么,它写代码,你负责验收。

📢 下节预告

第 2 讲|提示词公式:角色+对象+动作+规则+输出

同样是让 AI 写代码,为什么有人一次就成,有人改八遍还报错?下一讲我会拆解一个万能提示词公式,让你每次都能拿到能直接跑的代码。还会对比"翻车提示词"和"满分提示词",一看就懂。


💬 互动时间

你手上最想自动化的 Excel 重复操作是什么?在评论区告诉我,点赞最高的需求,我会优先在后续课程中做成实战案例。

另外,如果你在跟着做的时候卡在哪一步了,也直接留言,我看到都会回。


(完)

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料