VBA-0059-多列数据匹配与公式自动写入-图文教程

3 次浏览

VBA-0059-多列数据匹配与公式自动写入-图文教程

VBA-0059 系列视频封面

不用手写多列匹配公式

让 WorkBuddy + VBA 一次写入 6 列结果

15 条销售订单,按“客户区域 + 客户等级 + 产品编码”匹配价格政策。按钮一次写入产品名称、含税单价、折扣率、成交单价、销售金额和匹配状态。

订单 匹配成功 未匹配 重复规则
15 条 12 条 2 条 1 条

实测匹配订单销售额合计 ¥35,172.71。重复点击按钮只刷新公式,不新增记录,也不会生成重复按钮。

一、先看工作簿:三张表各司其职

这个案例不需要窗体。用户只在“订单明细”顶部点击一个按钮,VBA 读取价格政策并把公式写回浅蓝色结果列。

VBA-0059-多列数据匹配与公式自动写入-图文教程

订单明细:黄色区域是人工输入,浅蓝色区域等待 VBA 写入公式

VBA-0059-多列数据匹配与公式自动写入-图文教程

价格政策:区域、等级和产品编码共同确定产品名称、含税单价与折扣率

二、普通人也能写的提示词:先说清楚“做什么”

工作表 作用 处理原则
订单明细 保存订单输入和公式结果 不改输入列;结果写入 G:L
价格政策 提供三条件匹配来源 同一组合必须唯一
匹配规则 说明字段、异常和验收样例 作为任务说明,不写死最终统计

下面这段提示词没有堆砌公式,也没有预设“应该有多少条成功”。普通用户只要能说明业务规则,就可以直接交给 WorkBuddy:

请按 VBA 技能处理当前工作簿中的销售订单。读取“匹配规则”工作表,根据“客户区域、客户等级、产品编码”3个条件匹配“价格政策”,并在“订单明细”中自动写入产品名称、含税单价、折扣率、成交单价、销售金额和匹配状态的公式。未匹配或重复规则不要猜测,保留空值并标明状态;不要修改订单输入列,也不要创建窗体。请在“订单明细”顶部生成一个“批量写入匹配公式”按钮。完成后自行编译和测试,确保重复点击只刷新公式,不新增记录或重复按钮。

提示:保持 WorkBuddy 当前已经设置好的默认模型即可,不需要另外切换模型。

三、把提示词拆成 7 个可复用信息块

任务对象:当前工作簿中的销售订单,避免 AI 另做一个脱离现场的示例文件。

匹配条件:明确“区域、等级、产品编码”三列组合,防止只按一列模糊查找。

结果字段:列出产品名称、含税单价、折扣率、成交单价、销售金额、匹配状态。

异常规则:未匹配或重复规则时不猜测,结果留空并给出清楚状态。

保护边界:不修改订单输入列,不创建本案例不需要的窗体。

操作入口:在工作表顶部生成一个可重复使用的按钮。

交付标准:要求 AI 自行编译、测试,并验证重复点击的幂等性。

VBA-0059-多列数据匹配与公式自动写入-图文教程

WorkBuddy 中的真实提问:业务语言完整呈现,默认模型保持不变

写提示词时,最值得复用的不是某个长公式,而是“异常不猜测、输入列不改、结果可重复刷新”这三条质量边界。

四、把真实 VBA 工程交给 AI

VBA-0059-多列数据匹配与公式自动写入-图文教程

在 VBE 展开 VBAYYDS 菜单,点击“复制项目路径”

新版 VBAYYDS 的“复制项目路径”会自动导出当前 VBA 项目目录,并把路径复制到剪贴板,所以不再需要先执行一次“导出到本地”。

打开 VBE:在 WPS 表格中进入 VBA 编辑器,并保持窗口最大化,便于定位菜单。

复制项目路径:展开 VBAYYDS,点击一次“复制项目路径”。

保留现有窗口:无需关闭 WPS、VBE 或 WorkBuddy,后续可以直接往返核对。

为什么要交付工程目录?因为 AI 需要读取现有模块、工作表对象和项目说明,才能在真实项目里修改、编译、运行和继续纠错。

五、新建任务并选择工作空间

切换到 WorkBuddy 后,先新建任务,再把刚复制的项目目录选为工作空间。两个关键位置在视频和截图中都用红框突出。

VBA-0059-多列数据匹配与公式自动写入-图文教程

第一步:点击左侧“新建任务”;保持当前默认模型

VBA-0059-多列数据匹配与公式自动写入-图文教程

第二步:点击输入框下方固定位置的“选择工作空间”

六、WorkBuddy 如何理解并推进任务

提示词发送后,不需要逐行指导 AI 写代码。观察它是否先读取项目、识别三张工作表和三列匹配键,再进入模块编写与验证。

VBA-0059-多列数据匹配与公式自动写入-图文教程

任务开始:读取 VBA 工程并整理匹配条件、目标列和异常要求

VBA-0059-多列数据匹配与公式自动写入-图文教程

任务中段:分析价格政策、准备匹配模块和工作表按钮

七、AI 的“完成”要看哪些证据

VBA-0059-多列数据匹配与公式自动写入-图文教程

WorkBuddy 最终结论:模块已交付,工作表按钮已生成,并完成重复点击验证

完成证据 本案例的验收点
代码落地 生成模块 m匹配写入.bas,并提供入口宏“批量写入匹配公式”
工作表变化 订单明细 G:L 写入公式,顶部出现一个按钮
异常处理 未匹配和重复规则均不返回价格,状态列清楚标记
重复执行 再次点击只刷新公式,不新增订单,不重复创建按钮

不要只看“已完成”三个字。真正的交付必须同时满足:代码存在、工作簿变化正确、异常可见、重复执行稳定。

八、公式设计:三列唯一匹配,再写入六列结果

VBA-0059-多列数据匹配与公式自动写入-图文教程

按钮写入后的订单明细:公式栏可见,浅蓝区域已得到匹配结果

列 写入内容 逻辑
G 产品名称 唯一匹配时从价格政策返回
H–I 含税单价、折扣率 同一个三列组合返回政策字段
J 成交单价 含税单价 × 折扣率
K 销售金额 成交单价 × 数量
L 匹配状态 匹配成功 / 未匹配 / 重复规则

核心判断:COUNTIFS = 1 时返回政策;COUNTIFS = 0 时标记“未匹配”;COUNTIFS > 1 时标记“重复规则”。

九、结果复核:成功、未匹配和重复规则都要看

VBA-0059-多列数据匹配与公式自动写入-图文教程

订单明细底部:SO-260913 未匹配,SO-260914 重复规则,异常行不猜测价格

验证项 实际结果 判断
SO-260901 成交单价 ¥646.00;销售金额 ¥1,938.00 正确
SO-260913 状态:未匹配;结果列为空 正确
SO-260914 状态:重复规则;结果列为空 正确
全表统计 12 条成功、2 条未匹配、1 条重复规则 正确
匹配销售额 合计 ¥35,172.71 正确

异常行留空比“勉强返回一个价格”更可靠。它把数据问题暴露给业务人员复核,也避免错误金额继续进入汇总。

十、重复点击也安全:把一次演示变成可复用工具

VBA-0059-多列数据匹配与公式自动写入-图文教程

再次点击“批量写入匹配公式”,只刷新已有公式,不新增记录或按钮

可以复制到其他案例的提问模板

请按 VBA 技能处理当前工作簿中的【业务对象】。读取【规则表】,根据【匹配字段】匹配【数据来源】,并在【目标表】写入【结果字段】。遇到未匹配或重复规则时不要猜测,保留空值并标明状态;不要修改【受保护输入列】,不要创建不需要的窗体。请生成一个【按钮名称】按钮。完成后自行编译和测试,确保重复点击只刷新结果,不新增记录或重复按钮。

最终检查清单

规则唯一性:同一个组合键是否出现多条政策?

输入保护:订单号、日期、区域、等级、编码和数量是否保持不变?

公式可追溯:点选结果单元格时能否在公式栏看到来源?

重复执行:再点一次按钮,记录数和按钮数是否不变?

学会的不是一段固定代码,而是一套流程:把规则说清楚 → 把真实工程交给 AI → 让 AI 自检 → 回到 WPS 用业务样例验收。

VBA-0059-多列数据匹配与公式自动写入-图文教程插图13

工具名称:VBAYYDS语音编程助手
适合人群:常用Excel且希望自动化操作但不想深学VBA的职场人
体验方式:下载地址vbayyds.com
✨ 让Excel听懂你的需求,或许只需要一次尝试。
✨ 你的时间,值得用在更值得的事情上。
官网下载地址 vbayyds.com
淘宝搜索 vbayyds
购买方式 加微信EXCEL880B
VBA-0059-多列数据匹配与公式自动写入-图文教程插图14