Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: 的发放给

[已解决]用字典查询怎么没有值

[复制链接]
发表于 2017-8-25 16:06 | 显示全部楼层
把代码中所有的cells后面都加上.value,再解决w的事情,就搞定了。
回复

使用道具 举报

 楼主| 发表于 2017-8-25 16:12 | 显示全部楼层
大灰狼1976 发表于 2017-8-25 16:01
修改的话必须根据你的附件,根据你的要求才能判断。
我估计的原因在楼上已经说明了,也给出了解决方法,对 ...

数据进行了部分删减,麻烦您看一下了

新建 Microsoft Excel 工作表.zip

13.67 KB, 下载次数: 3

回复

使用道具 举报

发表于 2017-8-25 16:18 | 显示全部楼层    本楼为最佳答案   
我的理解是,根据sheet2的A列从sheet1中取值。
另,建议用数组。
  1. Sub t()
  2. Dim i, s
  3. i = Sheet1.Cells(Rows.Count, 1).End(3).Row
  4. s = Sheet2.Cells(Rows.Count, 1).End(3).Row
  5. Set d1 = CreateObject("Scripting.Dictionary")
  6. For w = 2 To i
  7.      d1(Sheet1.Cells(w, 1).Value) = Sheet1.Cells(w, 2)
  8. Next w
  9. For a = 2 To s
  10.      Sheet2.Cells(a, 2) = d1(Sheet2.Cells(a, 1).Value)
  11. Next a
  12. Set di = Nothing
  13. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2017-8-25 16:35 | 显示全部楼层
大灰狼1976 发表于 2017-8-25 16:18
我的理解是,根据sheet2的A列从sheet1中取值。
另,建议用数组。

感谢,其实问题很简单,用函数都可以解决的问题,奈何数据量庞大,电脑又不行,经常卡死,只能寻求一些快捷的方法了
回复

使用道具 举报

发表于 2017-8-25 16:37 | 显示全部楼层
那就更需要数组啦,单元格循环效率非常低。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 13:50 , Processed in 0.244153 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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