用 WorkBuddy 制作采购到货登记与订单状态联动窗体

3 次浏览

用 WorkBuddy 制作采购到货登记与订单状态联动窗体

AI 改变生活。以前想在 Excel 里做一套能查询订单、校验到货数量、登记到货记录并自动更新订单状态的 VBA 窗体,往往要先学控件、事件、工作表读写和异常处理。现在,把业务要求说清楚,WorkBuddy 就能协同 VBAYYDS 自动生成窗体与 VBA 代码。

这篇文章用 VBA-0069 案例说明完整过程。最终成果不是静态示意图,而是一套能够真实运行、真实写回数据的采购到货登记工具。

这个案例解决什么问题

采购订单到货时,工作人员通常要同时完成几件事:查找订单、确认剩余数量、登记本次到货、判断检验结果、追加到货流水,再把采购订单的累计到货数量和状态改掉。手工操作不但步骤多,也容易出现超量登记、重复提交或状态漏改。

本案例把这些动作集中到一个窗体中。用户只需选择采购单号,填写到货日期、数量、检验结果和入库仓库,系统就会自动完成后续校验与联动。

手工处理的难点 窗体自动完成的动作
来回查找采购订单 按采购单号自动加载供应商、物料、订单量和要求到货日
容易填入超过剩余数量的到货量 预览前自动比较本次到货数量与未到数量
到货流水和订单台账需要分别维护 一次确认,同时追加“到货记录”并更新“采购订单”
到货状态依靠人工判断 根据累计到货数量自动得到“部分到货”或“已完成”
重复点击可能产生重复记录 写入前检查重复业务记录并阻止二次提交

WorkBuddy 与 VBAYYDS 如何配合

WorkBuddy 负责理解自然语言需求、拆解业务步骤、组织生成任务并检查结果;VBAYYDS 负责连接 Excel 与 VBA 工程,把窗体、控件、事件和代码真正落到工作簿中。两者配合后,用户关注的是“业务要怎么做”,而不是先背下每一个 VBA 语法细节。

工具 在流程中的作用
WorkBuddy 读取工作簿结构和业务规则,把口述需求整理成可执行的窗体与代码任务
VBAYYDS 将生成结果写入 VBA 工程,并让窗体、按钮事件和工作表读写逻辑真正运行

用 WorkBuddy 制作采购到货登记与订单状态联动窗体

在 VBA 编辑器中进入 VBAYYDS 语音编程助手

从 VBA 编辑器点击 VBAYYDS 菜单后,就可以把任务交给 WorkBuddy。这里不需要手工在窗体上逐个摆放控件,也不需要自己从空白模块开始写代码。

先把业务目标说清楚

生成质量的关键,不是把需求说得复杂,而是把输入、动作、规则和结果说完整。本案例的核心要求可以压缩成下面这段话:

首轮提示词:读取当前工作簿和“业务参数”,生成一个采购到货登记 UserForm。窗体包含采购单号、到货日期、到货数量、检验结果、入库仓库五个输入项,以及加载订单、预览到货、确认写回、清空四个按钮。下方显示写回前后的已到数量、未到数量和订单状态,并使用暖金色主题。

首轮任务先完成界面和字段映射,让用户能够确认窗体结构是否符合实际业务。确认后,再补充第二轮逻辑:加载订单、校验输入、预览变化、二次确认、生成到货记录编号、事务式写回、重新读取结果,并测试超量到货、不合格检验和重复提交。

这种分两轮的方式很实用:第一轮确认“长什么样”,第二轮确认“怎么运行”。即使完全不会 VBA,也能用业务语言参与整个开发过程。

自动生成窗体和 VBA 代码

用 WorkBuddy 制作采购到货登记与订单状态联动窗体

VBAYYDS 同步生成采购到货窗体与 VBA 代码

生成完成后,可以同时看到窗体和代码。窗体不是一张图片,而是带有真实控件名称、按钮事件和数据字段的 UserForm;代码也不是演示片段,而是直接写入工程、可继续编辑和维护的 VBA 模块。

窗体按照业务顺序分成三个区域:顶部录入本次到货信息,中部只读显示订单上下文,底部预览写回前后的数量和状态。用户先加载订单,再预览变化,最后确认写回,操作路径非常清楚。

生成代码里的关键规则

下面是这类到货登记逻辑的核心写法。它先阻止无效或超量的到货数量,再根据检验结果决定是否计入已到数量。

If 到货数量 <= 0 Or 到货数量 > 未到数量 Then
    MsgBox "本次到货数量必须大于 0,且不能超过未到数量。"
    Exit Sub
End If

If 检验结果 = "合格" Then
    新已到数量 = 原已到数量 + 到货数量
Else
    新已到数量 = 原已到数量
End If

随后,程序计算新的未到数量和订单状态,并把结果同时写入两张表。

新未到数量 = 订单数量 - 新已到数量

If 新未到数量 = 0 Then
    新状态 = "已完成"
Else
    新状态 = "部分到货"
End If

'追加到货记录,并更新采购订单
到货记录.Cells(新行号, 1).Value = 到货记录编号
采购订单.Cells(订单行号, 已到数量列).Value = 新已到数量
采购订单.Cells(订单行号, 状态列).Value = 新状态

真正有价值的不是某一行代码,而是 WorkBuddy 能把“超量不能提交、不合格不计入到货、两张表同步更新”这些自然语言规则,转成一套完整、连贯的程序逻辑。

运行结果:一笔登记,两张表自动联动

本次演示选择采购单 PO-1007,到货日期为 2026-09-05,本次到货数量为 300,检验结果选择“合格”,入库仓库选择“原料仓”。

用 WorkBuddy 制作采购到货登记与订单状态联动窗体

真实窗体运行与订单状态联动结果

点击“加载订单”后,窗体自动带出供应商、物料、订单数量、采购员和要求到货日。点击“预览到货”,用户可以先看到数据将如何变化;只有再次点击“确认写回”后,系统才正式修改工作簿。

项目 写回前 写回后
已到数量 500 800
未到数量 300 0
订单状态 部分到货 已完成
到货记录条数 0 1

系统同时生成到货记录编号 ARR20260905-001。这样既保留了每一次到货的明细流水,也让采购订单主表保持最新状态。

不是“能运行”就结束,还要通过异常测试

一套业务窗体能否真正使用,关键看异常情况能不能挡住。本案例重点验证了四类场景:

  1. 输入不存在的采购单号时,提示用户并停止后续动作。
  2. 本次到货数量超过未到数量时,不允许预览和写回。
  3. 检验结果为“不合格”时,可以保留到货记录,但不增加订单的已到数量。
  4. 相同采购单、日期和到货内容再次提交时,系统识别重复记录并阻止写入。

确认写回采用完整事务思路:先检查全部条件,再追加到货记录、更新采购订单,最后重新读取结果。若中途出现错误,程序会进入错误处理,避免一张表已经更新而另一张表没有同步。

用 WorkBuddy 制作采购到货登记与订单状态联动窗体

真实生成的 VBA 事务式写回代码

这也说明,WorkBuddy 与 VBAYYDS 的价值不只是“快速画一个窗体”,而是把字段映射、按钮事件、业务校验、编号生成、跨表写回和异常恢复一起完成。

四步开始用嘴做 VBA

  • 第一步: 打开需要自动化的 Excel 工作簿,并明确数据表和业务参数。
  • 第二步: 进入 VBA 编辑器,点击 VBAYYDS 菜单,把任务交给 WorkBuddy。
  • 第三步: 用一句完整的话说明输入项、按钮、校验规则和写回结果。
  • 第四步: 查看自动生成的窗体与代码,确认后运行测试,再按实际业务继续调整。

不会写 VBA,并不等于不能做 Excel 自动化。只要你能讲清楚业务,WorkBuddy 就能协同 VBAYYDS 把语言变成窗体、把规则变成代码、把结果写回表格。

会说话,就能做 VBA 自动化。

用 WorkBuddy 制作采购到货登记与订单状态联动窗体插图5

工具名称:VBAYYDS语音编程助手
适合人群:常用Excel且希望自动化操作但不想深学VBA的职场人
体验方式:下载地址vbayyds.com
✨ 让Excel听懂你的需求,或许只需要一次尝试。
✨ 你的时间,值得用在更值得的事情上。
官网下载地址 vbayyds.com
淘宝搜索 vbayyds
购买方式 加微信EXCEL880B
用 WorkBuddy 制作采购到货登记与订单状态联动窗体插图6