夜雨聆风学习资料网

ARTICLE · 990121

从0学Excel VBA编程 · 番外篇17:AI 批量处理 Excel 数据——把表格交给 AI 分类、摘要、清洗

从0学Excel VBA编程 · 番外篇17:AI 批量处理 Excel 数据——把表格交给 AI 分类、摘要、清洗

从0学Excel VBA编程 · 番外篇17:AI 批量处理 Excel 数据——把表格交给 AI 分类、摘要、清洗

学习目标

  1. 明白「批量处理」就是:表格每行数据 → 拼成提示词 → 发给 AI → 结果写回
  2. 会用 VBA 把一列表格内容逐个交给 AI 分类、摘要
  3. 能做一个「可配置指令」的批量清洗工具,给同事也能用

知识点精讲

番外篇16 我们实现了「问 AI 一句话」。本篇把它升级成流水线:让 AI 替你干那些又烦又重复的表格活儿——给客户留言打情感标签、把长工单压成一句话摘要、把杂乱地址标准化……

套路其实就一句话:把单元格里的文字,套进一段提示词,发给 AI,再把回答写回旁边的格子。和番外篇16 的区别只是「问题」不是人敲的,而是从表格里一行行读出来的。

本篇需要番外篇16 的三个公共函数(调用AI / 转义JSON / 读HTTP文本)。为了让你单独打开本篇也能直接跑,下面把这三个函数原样再贴一次(和番外篇16 完全相同,复制进同一个标准模块即可)。

📌 前提提醒:API Key、装 VBA-JSON、勾选 Microsoft Scripting Runtime,这几步在番外篇16 讲过了,本篇不再重复。免费额度有限,数据量大时请分批、别太密,AI 偶尔也会答错,关键结果记得人工复核

【SVG 示意图】

公共函数区(与番外篇16 相同,复制进模块):

' 把文本里的特殊字符转义,避免拼 JSON 时出错Function 转义JSON(t As String) As String    t = Replace(t, "\", "\\")    t = Replace(t, """", "\""")    t = Replace(t, vbCrLf, "\n")    t = Replace(t, vbCr, "\n")    t = Replace(t, vbLf, "\n")    转义JSON = tEnd Function' 把 XMLHTTP 返回的字节流按 UTF-8 解码成中文文本Function 读HTTP文本(http As Object) As String    Dim stream As Object    Set stream = CreateObject("ADODB.Stream")    stream.Type = 1    stream.Open    stream.Write http.responseBody    stream.Position = 0    stream.Type = 2    stream.Charset = "UTF-8"    stream.Position = 0    读HTTP文本 = stream.ReadText    stream.CloseEnd Function' 核心:问 AI 一句话,返回它的回答文本Function 调用AI(问题 As String) As String    Dim http As Object, url As String, apiKey As String, body As String    Dim resp As String, dic As Object    apiKey = "换成你的APIKey"                         ' ← 改成你自己的密钥    url = "https://api.deepseek.com/v1/chat/completions"    body = "{""model"":""deepseek-chat""," & _           """messages"":[{""role"":""user"",""content"":""" & 转义JSON(问题) & """}]}"    Set http = CreateObject("MSXML2.XMLHTTP")    http.Open "POST", url, False    http.setRequestHeader "Content-Type", "application/json"    http.setRequestHeader "Authorization", "Bearer " & apiKey    http.send body    resp = 读HTTP文本(http)    Set dic = JsonConverter.ParseJson(resp)    调用AI = dic("choices")(1)("message")("content")End Function

3 个实战案例

案例 1(简单):客户反馈一键情感分类

功能说明:A 列是客户留言,逐行发给 AI 判断情感,结果写进 B 列(好评 / 中性 / 差评)。

Sub 客户反馈分类()    Dim r As Long, 提示 As String    For r = 2 To Cells(Rows.Count, "A").End(xlUp).Row        On Error Resume Next        提示 = "只回答'好评'、'中性'或'差评'中的一个词,判断这句话的情感:" & Cells(r, "A").Value        Cells(r, "B").Value = 调用AI(提示)        On Error GoTo 0    Next r    MsgBox "分类完成,结果在 B 列", vbInformationEnd Sub

操作步骤

  1. 在 A2 起填入客户留言,例如「物流太快了,满意」「等了一周才到,无语」
  2. 把上面公共函数 + 本过程放进同一模块,密钥改成你自己的
  3. 运行 客户反馈分类,稍等片刻,B 列出现每句的情感标签

案例 2(中等):工单自动摘要

功能说明:A 列标题、B 列描述,把两列拼成一段让 AI 总结,一句话摘要写进 C 列。比人工看长篇描述快得多。

Sub 工单摘要()    Dim r As Long, 提示 As String    For r = 2 To Cells(Rows.Count, "A").End(xlUp).Row        On Error Resume Next        提示 = "用一句话总结这个工单。标题:" & Cells(r, "A").Value & ";描述:" & Cells(r, "B").Value        Cells(r, "C").Value = 调用AI(提示)        On Error GoTo 0    Next r    MsgBox "摘要已写在 C 列", vbInformationEnd Sub

操作步骤

  1. A 列填工单标题、B 列填详细描述(从第 2 行起)
  2. 运行 工单摘要
  3. C 列逐行出现精简摘要,可直接贴进日报或派单系统

案例 3(实用):可配置指令的批量清洗看板

功能说明:做一个给同事用的小工具——B1 写「处理指令」(想让 AI 干啥),A 列放待处理文本,点按钮,AI 逐行套用指令处理,结果写 B 列。换指令就能换活儿,不用改代码。

Sub 智能批量处理()    Dim r As Long, 指令 As String, 提示 As String    指令 = Range("B1").Value    If 指令 = "" Then MsgBox "先在 B1 写处理指令,例如:判断情感只回好评/中性/差评", vbExclamation: Exit Sub    For r = 2 To Cells(Rows.Count, "A").End(xlUp).Row        On Error Resume Next        提示 = 指令 & ":" & Cells(r, "A").Value        Cells(r, "B").Value = 调用AI(提示)        On Error GoTo 0    Next r    MsgBox "处理完成,结果在 B 列", vbInformationEnd Sub

操作步骤

  1. 在 B1 输入指令,例如「把这句话里的人名、电话、地址提取出来,用逗号隔开」
  2. A2 起放入待处理文本(如「张先生13800001111住北京海淀」)
  3. 插入一个形状,右键「指定宏」→ 选 智能批量处理
  4. 点这个形状,B 列逐行出现 AI 提取的结果
  5. 想换活儿?只改 B1 指令即可,例如改成「把这段话翻译成英文」

本篇小结

  • 本质:表格文字 → 拼提示词 → 调 调用AI → 写回,循环而已
  • 三种活儿:分类(案例1)、摘要(案例2)、可配置清洗(案例3)
  • 越用越省事:案例3 的「指令放 B1」思路,让非技术的同事也能换着法儿用
  • 别忘了:免费额度分批跑、关键结果人工复核(AI 不是百分百准)

下一篇预告

下一篇可做 番外篇18:AI 生成报告 / 自动导出邮件(把本篇批量处理完的结果,自动汇总成一段周报并发邮件),把「调用 AI → 批量处理 → 导出发送」这条智能办公链彻底打通。如果你更想收尾,也可以做《VBA 自动化工具箱》总目录。告诉我选哪个方向即可。

相关学习资料

返回首页浏览学习资料