ARTICLE · 1115723
Excel VBA 双向台账:按A列匹配,有则更新、无则新增(数组高速版)
Excel VBA 双向台账:按A列匹配,有则更新、无则新增(数组高速版)功能介绍 ✅ 当前工作簿(录入表)作为数据源 ✅ 目标:写入另外一个指定工作簿(台账文件) ✅ 匹配规则:A列内容作为唯一主键 ✅ 逻辑:台账A列找到相同内容 → 整行更新覆盖;找不到 → 末尾新增一行 ✅ 数组处理,大数据不卡顿,不使用Copy粘贴,速度快 ✅ 自动打开/关闭台账文件,后台静默保存 ✅ 增加弹窗提示,执行完成告知:更新多少条、新增多少条 ✅ 防报错:文件不存在、空数据、主键为空的容错处理 使用场景:日常表单录入、客户台账、物料清单、日报汇总,本地填一张表,自动同步到总台账,不用手动复制粘贴、查找替换。 ✨VBA完整代码 

📝 关键修改说明(公众号重点标注) 1. Set wsSource = wbSource.ActiveSheet 如果固定用【录入表】,改成 Set wsSource = wbSource.Sheets("录入表") 2. Set wsTarget = wbTarget.Sheets("台账") ⚠️ 必须改成你台账文件里的工作表名字 3. 表头规则:两个表格都默认第1行表头,数据从第2行开始 4. 匹配主键:A列作为唯一编号(物料号/客户编号/单号) 5. dict.CompareMode = vbTextCompare - vbTextCompare: ABC001 和 abc001 视为相同 - vbBinaryCompare:大小写不一样,判定两条不同数据 ✨图片示例 1.录入表 示例数据(A1:D4) 
2.总台账【更新前】示例数据(A1:D3) 
3.✅ 运行VBA之后,总台账更新结果 
可以根据自己的需要进行修改工作簿名称 条件列。方便数据更新,解决工作中数据实时更新问题。 ⚠️专业制作VBA发开,需要可关注私信留言,欢迎交流。数据分析关注我不迷路。 ✨ VBA一键按条件自动提取数据(文员、生产统计专用) VBA一键对比两个Excel文件|自动识别相同-差异数据,不同单元格填充颜色Excel VBA一键按条件追加写入指定工作簿(自动新增行,不覆盖原有数据) 一键导入外部Excel!VBA文件选择器,自动提取数据到当前表




