使用VBA合并多个Excel工作簿例如,需要将多个Excel工作簿中的工作表合并到一个工作簿
这里假设需要合并的工作簿在“D:\示例\数据记录\”文件夹中,含有两个工作簿test1
xls、test2
xls(当然,可以不限于两个),在test1
xls工作簿中含有三张工作表,在test2
xls工作簿中含有两张工作表,现在使用一段VBA代码合并这两个工作簿到一个新工作簿中,合并到新工作簿中的工作表分别以原工作簿名加索引值命名
代码如下:SubCombineWorkbooks()DimstrFileNameAsStringDimwbAsWorkbookDimwsAsObject'包含工作簿的文件夹,可根据实际修改ConststrFileDirAsString="D:\示例\数据记录\"Application
ScreenUpdating=FalseSetwb=Workbooks
Add(xlWorksheet)strFileName=Dir(strFileDir&"*
xls*")DoWhilestrFileNamevbNullStringDimwbOrigAsWorkbookSetwbOrig=Workbooks
Open(Filename:=strFileDir&strFileName,ReadOnly:=True)strFileName=Left(Left(strFileName,Len(strFileName)-4),29)ForEachwsInwbOrig
Sheetsws
CopyAfter:=wb
Sheets(wb
Sheets
Count)IfwbOrig
Sheets
Count>1Thenwb
Sheets(wb
Sheets
Count)
Name=strFileName&ws
IndexElsewb
Sheets(wb
Sheets
Count)