
WorkBuddy × Excel VBA 实战案例教程
10 万行农业收购 · 分级结算 · 12 站拆分 · 一键重算
1. 案例目标与业务场景
十二个粮食收购站每天产生大量称重记录。人工处理不仅要扣除皮重,还要根据作物、等级和含水率完成计价;等级漏填的数据不能猜测,必须单独列出。这个案例使用 WorkBuddy 根据自然语言生成 VBA,让 10 万行数据一次完成结算、汇总和拆分。
最终交付
| 输出 | 作用 |
|---|---|
| 结算明细 | 保留原字段,并计算净重、扣水比例、结算重量和金额 |
| 站点作物汇总 | 按站点、作物、等级统计有效行数、重量和金额 |
| 待补充清单 | 列出等级缺失记录,不猜等级、不按 0 结算 |
| 12 份站点文件 | 有效与待补充记录都按站点拆出,行数保持完整 |
| 导出清单 | 记录文件路径、行数、金额、耗时和自动核对结论 |
核心验收数字
| 源数据 | 有效结算 | 待补充 | 站点文件 | 结算金额 |
|---|---|---|---|---|
| 100,000 行 | 99,933 行 | 67 行 | 12 份 | 4,477,780,744.58 元 |
2. 零基础提示词:需求直接用嘴说
请使用vba相关技能完成以下任务,不做窗体。十二个收购站有十万笔粮食收购记录,帮我按作物和等级找单价,扣除皮重,再按表里的演示规则扣水,算结算重量和金额。等级漏填的单独列出来,按收购站汇总,再给每个站导出自己的明细文件。先看规则、表头和少量样例,不要把全部明细贴进对话。用高效算法批量处理,别一格一格读写。保留原数据,加一个开始处理按钮,以后换了数据可以再用。显示真实耗时,自动核对行数和合计,重复运行不要堆出重复结果。

WorkBuddy 中放大展示的自然语言提示词
3. WorkBuddy 如何完成高效 VBA
WorkBuddy 只读取案例说明、计价规则、表头和少量样例,不把 10 万行明细直接贴进对话。生成代码采用 Value2 批量读取、二维数组批量写回和字典匹配,避免逐格往返。
| 环节 | 实现方式 |
|---|---|
| 规则匹配 | 用“作物|等级”作为字典键,常数时间找到单价和标准含水率 |
| 扣水计价 | 净重=毛重−皮重;扣水=max(含水率−标准,0)/100 |
| 异常保护 | 等级为空进入待补充清单,不猜等级 |
| 站点拆分 | 先按站点归集行号,再一次性写入 12 个工作簿 |
| 可重复运行 | 结果表先重建、文件先覆盖,避免重复堆叠 |

自动生成的 VBA:数组、字典与批量处理结构
4. 结算结果与站点汇总
运行主宏后,结算明细保留每张称重单的完整回查链路。金额按已保留 2 位的结算重量乘单价,再四舍五入到分。

结算明细:净重、扣水比例、单价、结算重量与结算金额
站点作物汇总按“站点、作物、等级”聚合,共 180 个组合。每个组合的有效行数、结算重量和金额均与独立验收基准一致。
4.1 站点作物等级汇总

站点作物等级汇总
| 汇总维度 | 组合数 | 验收结果 |
|---|---|---|
| 12 个站点 × 5 种作物 × 3 个等级 | 180 | 180 / 180 完全一致 |
5. 12 个站点自动拆分
宏会在当前工作簿旁创建“站点拆分”文件夹,生成收购站01至收购站12的独立明细文件。待补充记录也保留在对应站点文件中,因此拆分前后总行数仍为 100,000。

导出清单:12 个站点、100,000 行守恒、核对结论通过
| 核对项 | 结果 |
|---|---|
| 结算明细行数 | 100,000 |
| 12 个文件合计行数 | 100,000 |
| 有效结算 | 99,933 |
| 等级待补充 | 67 |
| 全量逐条对照差异 | 0 |
6. VBAYYDS 命令运行与三次验收
宏不从 VBA 界面手动运行,而是通过 VBAYYDS CLI 同步和执行。这样能准确指定主宏,并保留每次运行的成功日志。连续运行 3 次后,四张结果表、12 个站点文件、总行数与总金额均保持一致。
| 验收 | 结果 |
|---|---|
| VBA 同步 | 成功 |
| 第 1 次全量运行 | 成功 |
| 第 2 次全量运行 | 成功 |
| 第 3 次全量运行 | 成功 |
| 预期结算明细对照 | 100,000 / 100,000 一致 |
| 站点作物汇总对照 | 180 / 180 一致 |

以后替换数据,点击“开始处理 / 一键重算”即可再次生成
7. 关键结论
AI 更适合读取规则、表头与少量样例,再为本地 Excel 生成可重复使用的 VBA。10 万行明细不必每次重新发给 AI;代码完成后,只需点击按钮,就能再次结算、汇总并导出站点文件。
本案例突出能力
| 能力 | 价值 |
|---|---|
| WorkBuddy 自然语言编程 | 零基础也能把业务口径直接说清楚 |
| 高效 VBA 算法 | 数组与字典适合 10 万行级本地数据 |
| VBAYYDS 命令执行 | 同步、运行、纠错和验收更准确 |
| 一次生成、反复使用 | 以后点一下按钮即可立即重算,不必再问 AI |


