我是靠谱客的博主 鲜艳香水,最近开发中收集的这篇文章主要介绍excel合并多个工作表_EXCEL一键将多个工作簿合并成多个工作表(完善版),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

原创作者: 卢子 转自: Excel不加班

一年前的旧文章了,今天突然VIP学员需要这个功能,拿出来完善。原文章可以实现一键将多个工作簿合并成多个工作表,不过工作表名称没有重新改名。

详见:一键合并,12个增值税发票的工作簿

比如,文件夹内有很多工作簿,现在需要将所有工作簿放在Excel不加班教程合并这个工作簿。

f8a68332c7ce3030b1f502792041c033.png

合并后效果:工作表的名称是以原来工作簿的名称命名,每个工作表放着原来工作簿的内容。

72c6aff734637161f6785b7768125893.png

将模板放在实际要合并的文件夹内,打开模板,运行即可。短短几秒钟,就将所有工作簿合并过来。

aa4f6b0971ff262514984d26706c07cc.gif

源代码:

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一键将多个工作簿合并成多个工作表(完善版)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部