ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 如何把文件夹中多个工作簿中的多个工作表合并到一张工作表中

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2014-6-22 16:29 | 显示全部楼层
看看 学习下

TA的精华主题

TA的得分主题

发表于 2014-6-23 07:07 | 显示全部楼层
这汇总的代码很实用,会经常使用,学习了。

TA的精华主题

TA的得分主题

发表于 2014-7-19 09:52 | 显示全部楼层
zhaogang1960 发表于 2013-9-18 17:03
假设工作簿打开密码是"abc":

请教怎么把指定路径可以用对话框弹出,贴入路径??谢谢

TA的精华主题

TA的得分主题

发表于 2014-8-5 22:08 | 显示全部楼层
zhaogang1960 发表于 2013-9-17 17:50
请看附件

语句已经按我的自己需求修改了,但有几个问题要赵老师指导一下:
1、我的表格有保护工作表,脚本此时不能运行
2、排除表“汇总”不进行批量复制
3、表里面包含公式导致多表时占用很多资源,能否只复制数值和单元格格式

把文件夹中多个工作簿中的多个工作表合并到一张工作表中12.zip

58.42 KB, 下载次数: 41

TA的精华主题

TA的得分主题

发表于 2014-8-5 23:05 | 显示全部楼层
BeMin 发表于 2014-8-5 22:08
语句已经按我的自己需求修改了,但有几个问题要赵老师指导一下:
1、我的表格有保护工作表,脚本此时不能 ...
  1. Sub Macro1()
  2.     Dim MyPath$, MyName$, sh As Worksheet, sht As Worksheet
  3.     Application.ScreenUpdating = False
  4.     Application.Calculation = xlManual
  5.     Set sh = ActiveSheet
  6.     MyPath = ThisWorkbook.Path & ""
  7.     MyName = Dir(MyPath & "*.xls")
  8.     [a1].CurrentRegion.Offset(7).Clear
  9.     Do While MyName <> ""
  10.         If MyName <> ThisWorkbook.Name Then
  11.             With GetObject(MyPath & MyName)
  12.                 For Each sht In .Sheets
  13.                     If sht.Name <> "汇总" Then
  14.                         sht.Unprotect
  15.                         If sht.[a1].CurrentRegion.Rows.Count > 2 Then
  16.                             lr = sh.[a1].CurrentRegion.Rows.Count + 1
  17.                             r = sht.[a1].CurrentRegion.Rows.Count - 7
  18.                             sh.Cells(lr, 1).Resize(r) = MyName
  19.                             sh.Cells(lr, 2).Resize(r) = sht.Name
  20.                             sht.[a1].CurrentRegion.Offset(7).Copy sh.Cells(lr, 3)
  21.                         End If
  22.                     End If
  23.                 Next
  24.                 .Close False
  25.             End With
  26.         End If
  27.         MyName = Dir
  28.     Loop
  29.     Application.Calculation = xlAutomatic
  30.     Application.ScreenUpdating = True
  31.     MsgBox "ok"
  32. End Sub
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2014-9-20 11:04 | 显示全部楼层
本帖最后由 cqcbc 于 2014-9-20 12:26 编辑
zhaogang1960 发表于 2013-9-17 23:10
请看附件


赵老师:你好!本例子中,我只修改了01号-小孙、小张、小李.xls,运行代码出错,请帮忙修改一下。

把文件夹中多个工作簿中的多个工作表合并到一张工作表.rar

30.45 KB, 下载次数: 18

TA的精华主题

TA的得分主题

发表于 2015-10-27 10:57 | 显示全部楼层

效果xls就是我的需求,文件夹下的工作簿合并到效果xls下的sheet,但一定要保持原格式列宽。在线急等。

合并2.rar

72 KB, 下载次数: 30

TA的精华主题

TA的得分主题

发表于 2015-10-27 15:15 | 显示全部楼层
excel_芳婷 发表于 2015-10-27 10:57
效果xls就是我的需求,文件夹下的工作簿合并到效果xls下的sheet,但一定要保持原格式列宽。在线急等。

...

删除原来所有表,复制新表:
Sub Macro1()
    Dim MyPath$, MyName$, wb As Workbook
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    ActiveSheet.Name = "temp"
    For Each sh In Worksheets
        If sh.Name <> ActiveSheet.Name Then sh.Delete
    Next
    MyPath = ThisWorkbook.Path & "\"
    MyName = Dir(MyPath & "*.xlsx")
    With ThisWorkbook.Worksheets
        Do While MyName <> ""
            Set wb = GetObject(MyPath & MyName)
            wb.Worksheets(1).Copy After:=.Item(.Count)
            wb.Close False
            MyName = Dir
        Loop
    End With
    Worksheets("temp").Delete
    Application.ScreenUpdating = True
End Sub

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2015-12-9 14:22 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
zhaogang1960老师:
    如果想要把各个xlsx文件合并,去除第一行标题,从第二行开始保留,该怎么写呢?谢谢。1,2,3,4文件合并后效果如“合并后.xlxs”

数据.zip

31.08 KB, 下载次数: 26

TA的精华主题

TA的得分主题

发表于 2015-12-31 22:19 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-9-29 18:32 , Processed in 0.040899 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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