Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 518|回复: 1

跨工作簿在每个工作表查找对应值

[复制链接]
发表于 2023-4-21 15:39 | 显示全部楼层 |阅读模式
1学分
各位大神:
     在实际应用中遇到以下的需求:
1.有两个工作簿,需要工作簿【处理表】里按【产品图号】匹配自另一个工作簿【明细表】中的【生产线】所在列的值,而工作簿【明细表】由好多个工作表组成;2.因为同一个【产品图号】在【明细表】工作簿中多个工作表中都可能存在,【生产线】只取第一次出现的工作表对应的值即可,例如产品1(产品图号611(201000)在工作簿【明细表】中的sheet1、sheet2、sheet5里均存在,则产品1(产品图号611(201000)在处理表的【生产线】只需要sheet1里的WS即可。
      实际中工作簿明细表上百个工作表,一个个查找太麻烦了,望各位有经验的帮忙写个代码,万分感谢!

跨工作簿每个工作表查找对应值.rar

18.14 KB, 下载次数: 1

发表于 2023-4-21 17:25 | 显示全部楼层
紅色處為【明細表】的檔案路徑,再修改一下

Sub demo()
   Set d = CreateObject("Scripting.Dictionary")
   With GetObject("c:\qq\data.xlsx")
      For Each Sheet In .Sheets
         a = Sheet.[a1].CurrentRegion
         For i = 4 To UBound(a)
            If Not d.exists(a(i, 2)) Then: d(a(i, 2)) = a(i, 11)
         Next
      Next
      .Close
   End With
   a = [a1].CurrentRegion
   For i = 2 To UBound(a)
      a(i, 6) = d(a(i, 3))
   Next
   [a1].CurrentRegion = a
End Sub

祝順心,南無阿彌陀佛!

demo.zip

29.83 KB, 下载次数: 6

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-29 22:36 , Processed in 0.249579 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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