一键合并工作表

   2020-11-20 IP属地 浙江1300
核心提示:文章介绍合并工作表的方法,用VBA代码实现合并工作表。
内容提要:文章介绍合并工作表的方法,用VBA代码实现合并工作表。

下图所示:一个文件夹下面有多个excel工作薄,每个工作薄文件下面有不固定张数的工作表。比如有的文件只有一张工作,有的文件是多张工作表。

现在的问题,如何将这些多个文件实现合并工作表。将这些所有工作表全部合并到同一张工作表。

一般的做法,通过“移动或复制”实现合并工作表。要高效,可以使用VBA代码来实现合并工作表。

合并工作表操作步骤:

新建一个excel文件,按ALT+F11,打开VBE编辑器,复制下面的代码,然后运行,选择文件夹下面的所有excel文件,执行合并工作表。

Sub合并工作簿()
   DimFilesToOpen,wbAsWorkbook,shtAsWorksheet
   DimxAsInteger

   ,_
     MultiSelect:=True,Title:="FilestoMerge")

   IfTypeName(FilesToOpen)="Boolean"Then
       MsgBox"NoFileswereselected"
       GoToExitHandler
   EndIf

   x=1
   Whilex<=UBound(FilesToOpen)
       IfFilesToOpen(x)<>ThisWorkbook.FullNameThen
           Setwb=Workbooks.Open(Filename:=FilesToOpen(x))
           ForEachshtInwb.Sheets
               sht.CopyAfter:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
           Next
           wb.Close
       EndIf
       x=x+1
   Wend

ExitHandler:
   Application.ScreenUpdating=True
   ExitSub

ErrHandler:
   MsgBoxErr.Description
   ResumeExitHandler
EndSub

说明:上面代码是合并xlsx文件,如果是合并excel2003的文件,需要将:FileFilter:="MicrosoftExcelFiles(*.xlsx),*.xlsx",xlsx改为.xls。

 
反对 0举报收藏 0打赏 0评论 0
更多>相关评论
暂时没有评论,来说点什么吧
更多>同类办公
推荐图文
推荐办公
点击排行