已知有多个独立的excel工作簿文件,现在需要将这些文件合并到一个新的工作簿中。保留原来excel工作簿中各个excel工作表名称。如果量小,可以采用打开一个个复制的方法。在这里,我将向大家分享,怎么批量处理多个工作簿(ps:不是工作表)的合并。
工具/原料
microsoft office excel 2007
方法/步骤
1
将需要合并的excel工作簿文件放置在一个文件夹中。每个文件夹中的工作簿都输入了简单的内容。
2
在该文件夹中,新建立一个新的excel工作簿文件。重命名为8.
3
打开新建立的excel工作簿文件8.按Alt+F11或者将鼠标移动到下方工作表名称sheet1上右键,选择查看代码。
4
在弹出的代码编辑窗口中,输入代码。注意:通过快捷键Alt+F11打开的窗口如下没有直接复制代码的面板,需要点击左上方的工程-VBA project模块,双击sheet1,即可打开代码窗口。而步骤3中的第二种方法可以直接打开代码输入窗口。
5
在代码窗口中,黏贴下列代码:
Sub CombineFiles()
Dimpath As String DimFileName As String DimLastCell As Range DimWkb As Workbook DimWS As Worksheet DimThisWB As String Dim MyDir AsString MyDir =ThisWorkbook.path & "\" 'ChDriveLeft(MyDir, 1) 'find all the excel files 'ChDir MyDir 'Match =Dir$("") ThisWB =ThisWorkbook.Name Application.EnableEvents = False Application.ScreenUpdating = False path =MyDir FileName =Dir(path & "\*.xls", vbNormal) Do UntilFileName = "" If FileName <> ThisWB Then Set Wkb = Workbooks.Open(FileName:=path & "\"& FileName) For Each WS In Wkb.Worksheets Set LastCell = WS.Cells.SpecialCells(xlCellTypeLastCell) If LastCell.Value = "" And LastCell.Address = Range("$A$1").AddressThen Else WS.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) End If Next WS Wkb.Close False End If FileName = Dir() Loop Application.EnableEvents = True Application.ScreenUpdating = True Set Wkb =Nothing Set LastCell= NothingEnd Sub
6
点击菜单栏运行-运行子过程-用户窗体。关闭代码输入窗口。打开excel工作簿8.可以看到下方已经多了很多新的工作表——此时,我们已经将之前的工作簿中的工作表都复制到了这一新建的工作簿中。
END温馨提示:经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。免责声明:本文转载来之互联网,不代表本网站的观点和立场。如果你觉得好欢迎分享此网址给你的朋友。转载请注明出处:https://www.i7q8.com/zhichang/8114.html