体验零代码搭建

excel如何合并不同类型工作表

网友投稿  ·  2023-12-10 14:12  ·  低代码  ·  阅读 493


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

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

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

excel如何合并不同类型工作表

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

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

  合并工作表操作步骤:

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

Sub合并工作簿()

DimFilesToOpen,wbAsWorkbook,shtAsWorksheet

DimxAsInteger

OnErrorGoToErrHandler

Application.ScreenUpdating=False

FilesToOpen=Application.GetOpenFilename_

(FileFilter:="MicrosoftExcelFiles(*.xls),*.xls",_

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文件,如果是合并excel2007的文件,需要将:FileFilter:="MicrosoftExcelFiles(*.xls),*.xls",xls改为.xlsx。


Excel教程:让数据眼见为实的小技巧,你知道吗? << 上一篇
2023-12-10 14:12
excel如何将一列中的正数和负数分到两列?
2023-12-10 14:12
下一篇 >>

相关推荐