Excel精英培训网

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

[已解决]求大师帮个忙,有附件。

[复制链接]
发表于 2014-4-2 10:05 | 显示全部楼层 |阅读模式
本帖最后由 jsdtxin 于 2014-4-3 09:40 编辑

哪位大师能帮个忙
详见附件,

012汇总.rar (314.04 KB, 下载次数: 64)
发表于 2014-4-2 13:04 | 显示全部楼层
  1. Sub Macro1()
  2. Dim arr, wb As Workbook, i&
  3. arr = Range("c4:al" & Cells(Rows.Count, 4).End(xlUp).Row)
  4. Application.ScreenUpdating = False
  5. For i = 2 To UBound(arr)
  6.     If arr(i, 1) = "" Then arr(i, 1) = arr(i - 1, 1)
  7.     Set wb = GetObject(ThisWorkbook.Path & "" & Replace(arr(i, 1), "工作簿", "") & ".xls") '.xls 03后缀名,根据版本修改
  8.     With wb.Sheets("" & arr(i, 2))
  9.         arr(i, 3) = .[ar55]
  10.         arr(i, 4) = .[au2]
  11.         arr(i, 5) = .[au4]
  12.             '其他类推
  13.     End With
  14.     wb.Close
  15. Next
  16. Range("c4").Resize(UBound(arr), UBound(arr, 2)) = arr
  17. Application.ScreenUpdating = True
  18. End Sub
复制代码
回复

使用道具 举报

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

已做总表待汇总.zip

48.71 KB, 下载次数: 5

回复

使用道具 举报

 楼主| 发表于 2014-4-2 14:36 | 显示全部楼层
dsmch 发表于 2014-4-2 13:06
……………………

希望工作簿名与其中的工作表名都能自动获取填入汇总表内。
回复

使用道具 举报

 楼主| 发表于 2014-4-2 15:01 | 显示全部楼层
dsmch 发表于 2014-4-2 13:06
……………………

另外同一文件夹内工作簿是不断增加的,要求都能被自动汇总,另外工作簿名是任意的,可以是纯数字名,示例里的“工作簿”三字要处理下,要求能适应任意名字的工作簿。
回复

使用道具 举报

发表于 2014-4-2 18:24 | 显示全部楼层    本楼为最佳答案   
  1. Sub Macro1()
  2. Dim arr, brr, wb As Workbook, mypath$, wj$, i&
  3. arr = [c3:ak4] '如果数据有规律,brr可循环赋值,否则逐条添加
  4. ReDim brr(1 To 20000, 1 To UBound(arr, 2))
  5. Application.ScreenUpdating = False
  6. mypath = ThisWorkbook.Path & ""
  7. wj = Dir(mypath & "*.xls*")
  8. Do While wj <> ""
  9.     If wj <> ThisWorkbook.Name Then
  10.         Set wb = GetObject(mypath & wj)
  11.         For i = 2 To wb.Sheets.Count - 2
  12.             s = s + 1
  13.             brr(s, 1) = wb.Name
  14.             brr(s, 2) = wb.Sheets(i).Name
  15.             With wb.Sheets(i)
  16.                 brr(s, 3) = .[ar55]
  17.                 brr(s, 4) = .[au2]
  18.                 brr(s, 5) = .[au4]
  19.                 '以下类推添加
  20.             End With
  21.         Next
  22.         wb.Close 0
  23.     End If
  24. wj = Dir
  25. Loop
  26. Range("c5").Resize(s, UBound(brr, 2)) = brr
  27. Application.ScreenUpdating = True
  28. End Sub
复制代码
回复

使用道具 举报

发表于 2014-4-2 18:25 | 显示全部楼层
………………

已做总表待汇总.zip

48.75 KB, 下载次数: 4

回复

使用道具 举报

发表于 2014-4-2 23:04 | 显示全部楼层
dsmch 发表于 2014-4-2 18:25
………………

刷最佳好厉害~~虽然还看不懂代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-18 21:25 , Processed in 0.460819 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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