概述
原创作者: 卢子 转自: 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
最后
以上就是鲜艳香水为你收集整理的excel合并多个工作表_EXCEL一键将多个工作簿合并成多个工作表(完善版)的全部内容,希望文章能够帮你解决excel合并多个工作表_EXCEL一键将多个工作簿合并成多个工作表(完善版)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复