ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

同文件夹下所有工作薄的工作表按子表名包含的相同字眼(同类别)汇总到本工作薄

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-5-11 22:08 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
neke520 发表于 2014-5-11 21:49
赵版主,附件只改了你在6楼测试附件的第一个工作薄里的子表名称,就统计不出结果
  1. Sub Macro1()
  2.     Dim MyPath$, MyName$, sh As Worksheet, arr$(), i&, r&, wb As Workbook
  3.     Application.ScreenUpdating = False
  4.     ReDim arr(2 To Worksheets.Count)
  5.     For i = 2 To Worksheets.Count
  6.         With Worksheets(i)
  7.             .UsedRange.Offset(3).Clear
  8.             arr(i) = .Name
  9.         End With
  10.     Next
  11.     Set wb = ThisWorkbook
  12.     r = Rows.Count
  13.     MyPath = ThisWorkbook.Path & ""
  14.     MyName = Dir(MyPath & "*.xlsx")
  15.     Do While MyName <> ""
  16.         With GetObject(MyPath & MyName)
  17.             For Each sh In .Sheets
  18.                 For i = 2 To UBound(arr)
  19.                     If InStr(sh.Name, arr(i)) Then
  20.                         sh.UsedRange.Offset(3).Copy wb.Worksheets(arr(i)).Cells(r, 1).End(xlUp).Offset(1)
  21.                         Exit For
  22.                     End If
  23.                 Next
  24.             Next
  25.             .Close False
  26.         End With
  27.         MyName = Dir
  28.     Loop
  29.     Application.ScreenUpdating = True
  30. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2014-5-11 22:09 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
请测试附件
督导巡查表汇总--回复8楼赵版主.rar (271.86 KB, 下载次数: 60)

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-5-12 22:24 | 显示全部楼层
zhaogang1960 发表于 2014-5-11 22:09
请测试附件

赵版,
当要合并的工作簿有超链接时就有这种 QQ截图-超链接.jpg ,能否直接不更新跳过?或者把有公式的单元格直接取数值?
另外如果要合并的工作薄有超链接时运算特别慢,有什么办法解决么?


TA的精华主题

TA的得分主题

发表于 2014-5-12 22:30 | 显示全部楼层
neke520 发表于 2014-5-12 22:24
赵版,
当要合并的工作簿有超链接时就有这种,能否直接不更新跳过?或者把有公式的单元格直接取数值?
...

请上传这种工作簿分析一下

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-5-12 23:07 | 显示全部楼层
zhaogang1960 发表于 2014-5-12 22:30
请上传这种工作簿分析一下

新建文件夹 (2).rar (171.71 KB, 下载次数: 7)

TA的精华主题

TA的得分主题

发表于 2014-5-12 23:23 | 显示全部楼层
neke520 发表于 2014-5-12 23:07
  1. Sub Macro1()
  2.     Dim MyPath$, MyName$, sh As Worksheet, arr$(), i&, r&, wb As Workbook
  3.     Application.ScreenUpdating = False
  4.     Application.DisplayAlerts = False '新加
  5.     ReDim arr(2 To Worksheets.Count)
  6.     For i = 2 To Worksheets.Count
  7.         With Worksheets(i)
  8.             .UsedRange.Offset(3).Clear
  9.             arr(i) = .Name
  10.         End With
  11.     Next
  12.     Set wb = ThisWorkbook
  13.     r = Rows.Count
  14.     MyPath = ThisWorkbook.Path & ""
  15.     MyName = Dir(MyPath & "*.xlsx")
  16. '    Application.AskToUpdateLinks = False'如果测试还出现请启用这一句
  17.     Do While MyName <> ""
  18.         With GetObject(MyPath & MyName)
  19.             For Each sh In .Sheets
  20.                 For i = 2 To UBound(arr)
  21.                     If InStr(sh.Name, arr(i)) Then
  22.                         sh.UsedRange.Offset(3).Copy wb.Worksheets(arr(i)).Cells(r, 1).End(xlUp).Offset(1)
  23.                         Exit For
  24.                     End If
  25.                 Next
  26.             Next
  27.             .Close False
  28.         End With
  29.         MyName = Dir
  30.     Loop
  31.     Application.ScreenUpdating = True
  32.    
  33. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2014-5-12 23:28 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
请看附件
新建文件夹 (2).rar (302.41 KB, 下载次数: 80)

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-5-12 23:34 | 显示全部楼层
zhaogang1960 发表于 2014-5-12 23:23

Application.DisplayAlerts = False '新加

Application.ScreenUpdating = True

请教赵版前我试过加这个语句,还是出现。我先试试这个

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-5-13 00:26 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 neke520 于 2014-5-13 00:28 编辑
zhaogang1960 发表于 2014-5-12 23:28
请看附件


遇到了个怪事,有很多的工作簿会出现这个错误 QQ截图1.jpg QQ截图2.jpg ,但是把报错的那个工作薄单独统计就没问题


重新统计了1-3月耗时还是蛮长的如果全年数据估计要死机。赵版,所有表工作薄能根据C列的时间按月合并就更好 新建文件夹--按月.rar (302.12 KB, 下载次数: 11)

TA的精华主题

TA的得分主题

发表于 2014-5-13 00:33 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
neke520 发表于 2014-5-13 00:26
遇到了个怪事,有很多的工作簿会出现这个错误,但是把报错的那个工作薄单独统计就没问题

经测试没有发现问题,请上传有问题的工作簿
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-28 11:48 , Processed in 0.043194 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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