Excel精英培训网

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

[已解决]按工作薄名称提取数值

[复制链接]
发表于 2014-12-19 22:27 | 显示全部楼层 |阅读模式
如何用宏将45和114文件夹里工作薄里的汇总表数据的合计列按工作薄名称提取到汇总表里,求求各位老师帮帮忙,感激不尽。
最佳答案
2014-12-20 11:43
表格行行对应,删除字典,直接汇总

求助.rar

73.67 KB, 下载次数: 7

如何用宏将45和114文件夹里工作薄里的汇总表数据的合计列按工作薄名称提取到汇总表里

发表于 2014-12-19 23:12 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2014-12-19 23:36 | 显示全部楼层
爱疯 发表于 2014-12-19 23:12
汇总就是加到一起吗?

我想要合计列里的所有数据根据汇总表里对应的工作薄名称复制,方便汇总数据
回复

使用道具 举报

发表于 2014-12-20 00:01 | 显示全部楼层
爱疯 发表于 2014-12-19 23:12
汇总就是加到一起吗?

谢谢了1好东西啊!!!赞一个

回复

使用道具 举报

发表于 2014-12-20 06:36 | 显示全部楼层
  1. Dim w(1 To 10000), s%
  2. Sub Macro1()
  3. Dim arr, brr, crr, wb As Workbook, d, i&, j&, k%
  4. Set d = CreateObject("scripting.dictionary")
  5. arr = Range("a3:d" & Range("a65536").End(xlUp).Row)
  6. s = 0
  7. For i = 2 To UBound(arr)
  8.     p2 = ""
  9.     For j = 2 To UBound(arr, 2)
  10.         p2 = p2 & "," & Trim(arr(i, j))
  11.     Next
  12.     d(p2) = i
  13. Next
  14. zdir ThisWorkbook.Path & "\数据源"
  15. ReDim brr(1 To UBound(arr), 1 To s)
  16. Application.ScreenUpdating = False
  17. For i = 1 To s
  18.     Set wb = GetObject(w(i))
  19.     crr = wb.Sheets("汇总表").UsedRange
  20.     wb.Close 0
  21.     x = Split(w(i), "")
  22.     brr(1, i) = Replace(x(UBound(x)), ".xls*", "")
  23.     For j = 4 To UBound(crr)
  24.         p2 = ""
  25.         For k = 2 To 4
  26.             p2 = p2 & "," & Trim(crr(j, k))
  27.         Next
  28.         If d.Exists(p2) Then brr(d(p2), i) = crr(j, 10)
  29.     Next
  30. Next
  31. Range("e3").Resize(UBound(brr), UBound(brr, 2)) = brr
  32. Application.ScreenUpdating = True
  33. End Sub
  34. Sub zdir(p)
  35. Dim fs As New FileSystemObject
  36. For Each f In fs.GetFolder(p).Files
  37.     If f Like "*.xls*" Then s = s + 1: w(s) = f
  38. Next
  39. For Each m In fs.GetFolder(p).SubFolders
  40.     zdir m
  41. Next
  42. End Sub
复制代码
回复

使用道具 举报

发表于 2014-12-20 06:39 | 显示全部楼层
要汇总的工作簿放在同一文件夹下,方便汇总

求助.zip

72.98 KB, 下载次数: 9

回复

使用道具 举报

 楼主| 发表于 2014-12-20 10:21 | 显示全部楼层

RE: 按工作薄名称提取数值

dsmch 发表于 2014-12-20 06:39
要汇总的工作簿放在同一文件夹下,方便汇总

麻烦老师能再改一下吗!提取值后自动在最后列添加合计,谢谢!
回复

使用道具 举报

发表于 2014-12-20 11:43 | 显示全部楼层    本楼为最佳答案   
表格行行对应,删除字典,直接汇总

求助.zip

73.59 KB, 下载次数: 25

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 03:34 , Processed in 0.215675 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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