一键将多个工作簿合并成多个工作表(完善版)
点击上方蓝字
「Excel不加班」
关注
,
看下一篇
文章图片
恭喜下面3位幸运儿:Choicc、LGM海王星、土它@土它
, 获得书籍 , 加卢子微信
chenxilu2019
。
为了活跃气氛 , 在文末点亮“在看”+评论区留言 , 我会从中抽取3名粉丝 , 每人赠送一本《卢子Excel高手速成视频教程 早做完 , 不加班》 。
文章图片
复制下面这段内容 , 打开手机淘宝 , 即可购买 。
付製这行话HVMT1Qm6JF8转移至淘宀┡ē , 【【卢子2020新书】卢子Excel高手速成视频教程 excel函数公式大全 excel高级教程 电子表格excel教程书 表格制作 excel教程书籍】
一年前的旧文章了 , 今天突然VIP学员需要这个功能 , 拿出来完善 。 原文章可以实现一键将多个工作簿合并成多个工作表 , 不过工作表名称没有重新改名 。
详见:一键合并 , 12个增值税发票的工作簿
比如 , 文件夹内有很多工作簿 , 现在需要将所有工作簿放在Excel不加班教程合并这个工作簿 。
文章图片
合并后效果:工作表的名称是以原来工作簿的名称命名 , 每个工作表放着原来工作簿的内容 。
文章图片
将模板放在实际要合并的文件夹内 , 打开模板 , 运行即可 。 短短几秒钟 , 就将所有工作簿合并过来 。
文章图片
源代码:
Sub 合并工作簿()
Dim Wb As Workbook, MyPath As String, File, Sh_n As String
Application.ScreenUpdating = False
Rem 关闭屏幕刷新
MyPath$ = ThisWorkbook.Path & "\"
Rem 获取当前工作簿路径
File = Dir(MyPath & "*.xls*")
Rem 获取路径下所有Excel文件
Do While File <> "" '遍历所有文件
If File <> ThisWorkbook.Name Then '不合并当前工作簿
Set Wb = Workbooks.Open(MyPath & File)
Rem 依次打开工作簿
Sh_n = StrReverse(Mid(StrReverse(Wb.Name), InStr(StrReverse(Wb.Name), ".") + 1))
Sheets(1).Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
ActiveSheet.Name = Sh_n
Rem 将第一个表复制到当前工作簿的最后一个工作表
Wb.Close False '关闭工作簿 不保存
End If
File = Dir
Rem 循环下一个工作簿
Loop
Application.ScreenUpdating = False
Rem 打开屏幕刷
End Sub
链接:
https://pan.baidu.com/s/1vBehDA_8Z_DXS9NDgBgSTA
推荐阅读
- 疫情中多个县知事火了,日本地方官到底有多大权
- 东北地区多个城市空气质量“爆表” 露天秸秆焚烧是主因
- #质量#东北地区多个城市空气质量“爆表” 露天秸秆焚烧是主因
- #爆表#东北地区多个城市空气质量“爆表” 露天秸秆焚烧是主因
- 对账单、询证函等一键生成,这个模板太好用了!
- 『新冠肺炎』美国开始统计新冠肺炎疑似病例,纽约一下新增4000多个死亡病例
- 注意!济南一小区惊现2米大长蛇!多个小区同时有蛇出现
- 紧急提醒!杭城已有14人中招!事发多个地铁口,都是年轻人……
- 「教育部考试中心」教育部考试中心发布消息 2020年上半年多个考试调整
- “解封”后的快乐:武汉一用户1天收了30多个快递