Excel精英培训网

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

[已解决]自动加载别表对应数据

[复制链接]
发表于 2014-5-3 21:49 | 显示全部楼层 |阅读模式
我想在“显示”表中点击按钮自动加载汇总表中的数值,条件是有3个,刚学不知道如何实现,还请各位大大们帮忙整个,不甚感谢,宿舍灯要关了,谢谢,具体说明在文件里说了,希望能得到帮助,正在学习中...
最佳答案
2014-5-4 06:30
  1. Sub Macro1()
  2. Dim arr, brr, i&, j%, d, d2, zf$
  3. Set d = CreateObject("scripting.dictionary")
  4. Set d2 = CreateObject("scripting.dictionary")
  5. brr = Sheet2.Range("a1").CurrentRegion
  6. bh = [g7] '编号
  7. bm = [g8] '部门
  8. For i = 2 To UBound(brr)
  9.     If brr(i, 2) = bh And brr(i, 3) = bm Then
  10.         zf = bh & "," & bm
  11.         d2(zf & "," & brr(i, 1)) = d2(zf & "," & brr(i, 1)) & "," & i
  12.         If Not d.exists(zf) Then
  13.             d(zf) = i
  14.         Else
  15.             If brr(i, 1) > brr(d(zf), 1) Then d(zf) = i '最新日期
  16.         End If
  17.     End If
  18. Next
  19. x = Split(d2(zf & "," & brr(d(zf), 1)), ",")
  20. ReDim arr(1 To UBound(x), 1 To 5)
  21. For i = 1 To UBound(x)
  22.     For j = 5 To 9
  23.         arr(i, j - 4) = brr(x(i), j)
  24.     Next
  25. Next
  26. Range("f10:j20000").ClearContents
  27. Range("f10").Resize(UBound(arr), 5) = arr
  28. End Sub
复制代码

自动加载别表对应数据.rar

5 KB, 下载次数: 8

请教大大们了

发表于 2014-5-4 06:30 | 显示全部楼层    本楼为最佳答案   
  1. Sub Macro1()
  2. Dim arr, brr, i&, j%, d, d2, zf$
  3. Set d = CreateObject("scripting.dictionary")
  4. Set d2 = CreateObject("scripting.dictionary")
  5. brr = Sheet2.Range("a1").CurrentRegion
  6. bh = [g7] '编号
  7. bm = [g8] '部门
  8. For i = 2 To UBound(brr)
  9.     If brr(i, 2) = bh And brr(i, 3) = bm Then
  10.         zf = bh & "," & bm
  11.         d2(zf & "," & brr(i, 1)) = d2(zf & "," & brr(i, 1)) & "," & i
  12.         If Not d.exists(zf) Then
  13.             d(zf) = i
  14.         Else
  15.             If brr(i, 1) > brr(d(zf), 1) Then d(zf) = i '最新日期
  16.         End If
  17.     End If
  18. Next
  19. x = Split(d2(zf & "," & brr(d(zf), 1)), ",")
  20. ReDim arr(1 To UBound(x), 1 To 5)
  21. For i = 1 To UBound(x)
  22.     For j = 5 To 9
  23.         arr(i, j - 4) = brr(x(i), j)
  24.     Next
  25. Next
  26. Range("f10:j20000").ClearContents
  27. Range("f10").Resize(UBound(arr), 5) = arr
  28. End Sub
复制代码
回复

使用道具 举报

发表于 2014-5-4 06:31 | 显示全部楼层
………………

自动加载别表对应数据.zip

11.52 KB, 下载次数: 12

回复

使用道具 举报

 楼主| 发表于 2014-5-4 08:35 | 显示全部楼层
谢谢啦,不甚感激了,可以实现我要的功能,我再研究下哈
回复

使用道具 举报

发表于 2014-5-4 10:05 | 显示全部楼层
学习了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 18:36 , Processed in 0.431555 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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