ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2961|回复: 26

[求助] VBA千、万级数据匹配更新求助

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-9-11 22:40 | 显示全部楼层 |阅读模式
本帖最后由 heshipei 于 2024-9-12 09:16 编辑

因扫描录入或批量输入需求,同时有全部需要更新表格匹配,目前使用for/to,一旦上几千条数量就要近1分钟,更别说上万条了,求助帮优化一下速度,感谢,目前使用Vlookup匹配,不会用字典,如有好办法,请帮多加注释说明,好学习及按后续自行修改,谢谢!


工作簿4.part1.rar (1.8 MB, 下载次数: 38)
工作簿4.part2.rar (1.2 MB, 下载次数: 36)


【补充说明】
主要逻辑就是通过在D列输入条码,之后匹配出E至I列的对应项,B列是根据非装箱号显示序号,C列为根据I列显示为货架分隔为空及非货架编码时显示上方的货架编码,因可能会中间有需要编辑数据,有需要全部进行一次全部刷新或录入时刷新数据,目前主要就是全部刷新或到几千条数据时录入卡顿且很慢,需要解决速度问题,谢谢大神们了

TA的精华主题

TA的得分主题

发表于 2024-9-12 07:53 | 显示全部楼层
目前的代码,都是调用工作表函数vlookup,而且是,频繁写入单元格,速度肯定是慢的,用数组+字典会快很多倍,
但是,要看懂你目前的代码再来写代码,恐怕没人有这份闲心的,具体藐视你的需求,也许可以考虑重新写代码

TA的精华主题

TA的得分主题

发表于 2024-9-12 08:16 | 显示全部楼层
问题应该不难,字典+数组应该比较轻松,但原代码的逻辑看上去比较复杂,没搞清楚取数规则。

TA的精华主题

TA的得分主题

发表于 2024-9-12 08:56 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

TA的精华主题

TA的得分主题

发表于 2024-9-12 09:15 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
好好整理整理文档吧,光看你吐槽了,就是不说具体问题,一条条的展开写写你的业务逻辑

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-13 21:42 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
ykcbf1100 发表于 2024-9-12 08:16
问题应该不难,字典+数组应该比较轻松,但原代码的逻辑看上去比较复杂,没搞清楚取数规则。

逻辑就是
1、通过在D列录入条码,并在E至I列的对应项匹配出各项,如果匹配错误时I列显示为"条码错误或匹配库不存在"
2、但如果D列为9位数字且不能匹配出来,判定为装箱号,同时I列显示为“装箱号/货架编码分隔",其他项则为空,如果D列为非数字也与前面同样道理
3、B列是根据非装箱号显示序号,C列为根据I列显示为上方分隔的货架编码

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-13 21:44 | 显示全部楼层
3190496160 发表于 2024-9-12 07:53
目前的代码,都是调用工作表函数vlookup,而且是,频繁写入单元格,速度肯定是慢的,用数组+字典会快很多倍 ...

重写也行的,主要我就是小白一个,上班有时需要用到才自己边上网查相关功能再研究自己写一下,但经常数据量一大就慢并卡,所以就又来求助下

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-13 22:35 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
3190496160 发表于 2024-9-12 07:53
目前的代码,都是调用工作表函数vlookup,而且是,频繁写入单元格,速度肯定是慢的,用数组+字典会快很多倍 ...

小小白一个,代码都是东拼西凑出来的

TA的精华主题

TA的得分主题

发表于 2024-9-14 07:25 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
那就专业的事给专业的人干
可惜我不是那个专业的人

TA的精华主题

TA的得分主题

发表于 2024-9-14 08:50 | 显示全部楼层
heshipei 发表于 2024-9-13 21:42
逻辑就是
1、通过在D列录入条码,并在E至I列的对应项匹配出各项,如果匹配错误时I列显示为"条码错误或匹 ...

应该还有没有枚举的情况的吧?
B列是根据非装箱号显示序号,C列为根据I列显示为上方分隔的货架编码,看半天,还是没看懂
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-19 03:32 , Processed in 0.043280 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表