操作方法
将需要合并的EXCEL文件与目的EXCEL文件放在一个文件夹下。A文件、B文件、C文件为需要合并的EXCEL文件,再在这个文件夹下创建一个EXCEL文件:HB.xlsx,作为合并文件。如图所示。
打开HB.xlsx,将“开发工具”菜单加载到EXCEL菜单下。首先右键点击菜单空白处,选择“自定义功能区”,在弹出的对话框里选择主选项卡。然后勾选“开发工具”。如图所示。
制作导入键。点击“开发工具”菜单,选择“插入”--“Activex”控件下的命令按键。在工作表中画一个命令按钮。如图所示。
单击“开发工具”下的“设计模式”,再双击刚刚创建的命令按钮“CommandButton1”,进入代码编辑框。如图所示。
将以下代码全部复制到代码框中。(注意:要将代码框中已存在的 “Private Sub CommandButton1_Click()“和”End Sub”这两行语句删除掉再粘贴) Private Sub CommandButton1_Click() Dim path As String Dim FileName As String Dim LastCell As Range Dim Wkb As Workbook Dim WS As Worksheet Dim ThisWB As String Dim MyDir As String 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 & "\*.xlsx", vbNormal) Do Until FileName = "" 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").Address Then 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 = Nothing End Sub 如图所示。
将HB文件保存成启用宏的工作簿。关闭当前代码框,回到EXCEL界面。选择“文件”--“另存为”--“保存类型”下选择“启用宏的工作簿”,OK。
打开HB.xlsm,单击按钮。则几个需要合并的EXCEL文件中的工作表A,B,C合并到了HB.xlsm这个文件中。如图所示。