
WorkBuddy + AI 编程案例:10 万行仓库流水汇总与库存预警
10 万行仓库流水
汇总与库存预警
WorkBuddy 编写 VBA · 数组与字典高效处理 · 按钮重复使用
当流水达到 10 万行,直接把整张表交给 AI 分析并不现实。更稳定的方法,是让 WorkBuddy 把业务规则写成高效 VBA,将代码固化在工作簿中。以后换数据,点一下按钮即可立即重算,后续不用再问 AI。
一、案例目标与数据结构
本案例使用两张源表:“出入库流水”共 100,000 条业务记录,“期初库存”共 1,000 个仓库与商品组合。VBA 保留原数据,并自动生成结存和预警结果。
- 按“仓库 + 商品编号”汇总入库和出库。
- 用期初数量、入库数量和出库数量计算结存。
- 找出负库存、低于安全库存和 8 月无出库的商品。
- 按仓库汇总,生成库存分布图,并核对条数和合计。
- 增加“开始处理”按钮,确保换数据后可重复运行。

图 1 出入库流水共 100,000 行,原始数据保持不变
二、为什么不把整张表直接丢给 AI
AI 适合理解规则、生成代码和帮助排错,但不适合每次把 10 万行明细全部放进对话。本案例只让 WorkBuddy 读取表头、少量样例和规则,再由 VBA 在 Excel 本地处理完整数据。
| 环节 | AI / WorkBuddy 负责 | Excel VBA 负责 |
|---|---|---|
| 理解 | 表头、样例、规则 | 不承担对话理解 |
| 生成 | 设计算法、写代码、修正错误 | 保存并执行代码 |
| 计算 | 不传输全部明细 | 本地批量处理 10 万行 |
| 复用 | 必要时再帮助修改 | 点按钮重复计算 |

图 2 数据留在 Excel 本地处理,十万行汇总不到 1 秒
三、直接用自然语言说需求
零基础用户不需要先掌握数组、字典或工作表对象模型,只需要把业务要求说清楚。本案例实际使用的提示词如下:
请使用 VBA 相关技能完成以下任务,不做窗体。仓库有十万行出入库流水,帮我和期初库存对起来,算出各仓库每种商品的结存。找出负库存、低于安全库存的商品和一个月没出库的商品,按仓库汇总,并画库存分布图。先看规则、表头和少量样例,不要把全部明细贴进对话。用高效算法批量处理,别一格一格读写。保留原数据,加一个开始处理按钮,以后换了数据可以再用。显示真实耗时,自动核对行数和合计,重复运行不要堆出重复结果。

图 3 WorkBuddy 中的自然语言任务,不要求用户会写代码
四、WorkBuddy 自动生成和修正 VBA
WorkBuddy 先读取工作簿结构,再完成模块编写、同步和执行。当遇到编译或同步问题时,它会继续检查当前模块、定位出错结构并修正,不需要零基础用户自己逐行排查。
- 读取工作表名称、表头、规则和少量样例。
- 根据业务规则设计联合键、汇总结构和输出表。
- 生成 VBA 模块并同步到当前工作簿。
- 通过 VBAYYDS 命令运行宏,而不是从 VBA 界面手工点运行。
- 遇到问题继续定位、修正、重新同步和验证。

图 4 WorkBuddy 读表、写码并持续修正编译问题
五、10 万行高效算法的关键
此案例能在不到 1 秒内完成汇总,关键不是换更快的电脑,而是避免 VBA 反复访问单元格。
- 一次将明细区域读入内存数组。
- 用“仓库 + 商品编号”组成联合键,避免重复搜索。
- 用字典累计入库、出库和最后出库日期。
- 在内存中完成结存、负库存、安全库存和无出库判断。
- 最后一次性回写结果,并在重跑时重建输出表。

图 5 生成的 VBA 使用数组批量读写与字典汇总
六、业务规则与真实结果
| 检查项 | 口径 | 实际结果 |
|---|---|---|
| 输入流水 | 完整业务记录 | 100,000 条 |
| 期初组合 | 所有仓库 + 商品都输出 | 1,000 个 |
| 负库存 | 结存 < 0 | 605 条 |
| 补货关注 | 结存 < 安全库存 | 724 条 |
| 无出库 | 8 月无出库业务 | 50 条 |
| 结存合计 | 期初 + 入库 – 出库 | -37,460 |
| 合计差异 | 明细与汇总核对 | 0 |
注:负库存和低于安全库存可以重叠;“无出库”必须根据期间内是否存在出库业务判断,不能仅根据期末库存推断。

图 6 真实结果:100,000 条流水、605 条负库存、724 条补货关注、50 条无出库
七、以后只要点一下按钮
VBA 写入工作簿以后,日常使用只需三步:
1. 替换“出入库流水”和“期初库存”中的数据。
2. 确认工作表名称、列名和业务类型口径不变。
3. 点击“开始处理”按钮,等待结果和耗时提示。

图 7 换数据后一键重算,后续不用再问 AI
结语
WorkBuddy 最有价值的地方,不是替用户“看一次数据”,而是帮助用户把经常重复的规则写成可执行、可验证、可重复使用的 VBA 工具。数据留在 Excel 本地计算,AI 负责理解需求和生成工具,两者结合,才是处理 10 万行大表的实用方式。

