ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: lxt1989714

[Excel基础] 求教一个汇总表格用的宏

[复制链接]

TA的精华主题

TA的得分主题

发表于 2016-11-29 11:49 | 显示全部楼层
还是很慢,不会改啦
  1. Sub ww()
  2. Cells.Clear
  3. Dim mapath$, maname$, wb As Workbook, ws As Worksheet, s$, r%
  4. Dim t, arr, brr(), n%, i%, j%, x%
  5. t = Timer
  6. Application.ScreenUpdating = False
  7. Application.DisplayAlerts = False
  8. mapath = ThisWorkbook.Path & ""
  9. maname = Dir(mapath & "*初审*.xlsx")
  10. Do While maname <> ""
  11. If maname <> ThisWorkbook.Name Then
  12. 'r = r + 2
  13. Set wb = Workbooks.Open(mapath & maname)
  14. For Each ws In wb.Sheets
  15. If ws.Name = "成本单(表3)" Then
  16. arr = ws.[a1].CurrentRegion '.Copy ThisWorkbook.Sheets("sheet1").Range("a" & r)
  17. For i = 1 To UBound(arr)
  18. n = n + 1
  19. ReDim Preserve brr(1 To 31, 1 To n)
  20. For j = 1 To 31
  21. brr(j, n) = arr(i, j)
  22. Next
  23. Next
  24. Exit For
  25. End If
  26. Next
  27. End If
  28. wb.Close
  29. maname = Dir
  30. 'r = Cells(Rows.Count, 1).End(xlUp).Row
  31. Loop
  32. [a1].Resize(n, 31) = Application.Transpose(brr)
  33. MsgBox "程序用时" & Format(Timer - t, "0.00") & "秒"
  34. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2016-11-29 11:50 | 显示全部楼层
新建文件夹.rar (1.56 MB, 下载次数: 31)
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-24 01:38 , Processed in 0.042263 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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