乐于分享
好东西不私藏

400多行核心代码,我用VBA给EXCEL搓了个AI公式助手,看到文章的都能用上!

400多行核心代码,我用VBA给EXCEL搓了个AI公式助手,看到文章的都能用上!

在上一期教程中,我们通过VBA在Excel中搭建了一个专属的“AI对话面板”。很多朋友实操后发现,体验确实比在网页端来回切换好了很多。

但在实际使用中,一个新的痛点出现了:这个AI面板虽然能回答问题,但它是个“瞎子”,也是个“没有手”的纯聊天工具。它不知道你当前的表格里有什么数据,当你让它帮忙写公式时,它只能把公式以文本的形式发给你,你依然需要手动复制、粘贴到单元格里。

真正的办公自动化,不应该这么繁琐

今天,我们就来解决这个核心痛点。我们将对代码进行一次深度升级,给接入的DeepSeek装上“眼睛”和“手”,让它能够自动读取表格内容,并直接操作你的Excel,以此实现如下这样一个公式助手。

一、 核心痛点:为什么之前的AI无法直接操作表格?

在常规的API调用中,我们发给大模型的信息只有“用户输入的问题”。因为大模型没有看到你的表头和数据结构,它给出的答案必然是通用且停留在文本层面的。

要让AI直接操作表格,我们需要跨越两道技术门槛:

  1. 让AI“看见”表格:在发送问题时,必须通过代码自动抓取当前表格的范围、表头等上下文信息,一并打包发送给AI。
  2. 让AI“动手”写字:AI返回的不能再是一段普通的聊天文字,而必须是能够被Excel直接执行的机器指令(例如指定在F2单元格写入MAX函数)。

二、 效果展示:全自动的数据处理体验

经过代码升级后,现在的交互体验将发生质的飞跃。我们来看两个典型的日常办公场景:

场景一:常规的数据统计假设我们有一份包含姓名、部门、销售金额、订单数量的表格。现在需要统计最大的订单量。 你只需打开AI面板,输入指令:“在F2单元格写一个公式,求出订单数量(D列)的最大值。” 点击运行后,AI不再是给你发一段文字,而是直接在你的F2单元格里生成了完整的 =MAX(D:D) 公式,并立即计算出结果。

场景二:复杂的嵌套逻辑遇到复杂的业务条件时,更能体现这个工具的价值。 比如你需要进行业绩评级,你可以直接对AI说:“请在F2单元格写入公式,对订单数量进行判断。大于50为优秀,大于40为良好,小于等于40为一般。” 这种包含多层 IF 嵌套的繁琐公式,AI不仅能瞬间理清逻辑,还会自动将准确无误的公式写入F2单元格,你只需要双击下拉填充,整列的数据处理瞬间完成。

三、 底层逻辑拆解:这是如何实现的?

很多朋友好奇,这种看起来非常智能的自动化操作,背后的逻辑是什么?其实核心在于提示词工程(Prompt Engineering)数据结构化(JSON解析)

在后台的VBA代码中,我们对AI进行了一次深度的“催眠和限制”:

  • 角色设定:我们在代码底层告诉DeepSeek:“你是一个Excel表格助手,当前的表格数据范围是XX,表头内容是XX。”这就相当于给AI装上了“眼睛”。
  • 格式强制要求:我们严格限制了AI的输出格式。要求它不仅要给出解释,还必须返回一段标准的JSON格式代码,明确标出“要写入哪个单元格(target)”以及“写入什么具体的公式(formula)”。
  • VBA解析执行:当Excel接收到这段结构化的JSON数据后,我们编写的辅助代码会将其拆解,提取出目标单元格和公式内容,最终指挥Excel的“手”完成自动写入。

这就完成了一个从“理解业务”到“执行操作”的完整Agent闭环。

四、 源码获取说明

熟悉VBA的朋友应该能看出来,要实现上述的自动化过程,需要处理复杂的JSON解析模块和网络请求协议。

本次升级的底层VBA代码核心代码虽然只有400多行,但其包含多个辅助函数与模块。如果直接将源码粘贴在推文中,极易因为排版问题导致字符转义或缺失,大家复制后强行运行很可能会出现各种报错提示,影响学习体验。

因此,为了确保大家能够顺利部署和使用: 请大家在公众号后台回复关键词【粉丝群】领取,我已将本次演示的完整VBA源码文件(包含内置的JSON解析模块)打包上传至粉丝群内。大家可以在群文件内直接下载、认领,导入自己的Excel中稍作修改即可使用。

在AI时代,能拉开工作效率差距的,往往不是你懂多少晦涩的函数,而是你是否懂得利用工具为你建立自动化的工作流。欢迎进群获取源码,动手打造你的专属AI助理,我们下期再见。