第一步:多个工作簿合并到一个工作簿在由多个工作簿合并到一个工作表之前,我们先把多个工作簿合并到一个工作簿。 1、新建一个工作薄,将其命名为合并后的名字,例如叫做:汇总工作簿。 2、打开此工作簿:“汇总工作簿” 3、在“汇总工作簿”下任一个工作表标签上点击右键,选择“查看代码”。 4、在打开的VBA编辑窗口中粘贴以下代码: Sub 工作薄间工作表合并() Dim FileOpen Dim X As Integer Application.ScreenUpdating = False FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(.xlsx),.xlsx", MultiSelect:=True, Title:="合并工作薄") X = 1 While X <= UBound(FileOpen) Workbooks.Open Filename:=FileOpen(X) Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) X = X + 1 Wend ExitHandler: Application.ScreenUpdating = True Exit Sub errhadler: MsgBox Err.Description End Sub
5、关闭该VBA编辑窗口 6、在Excel中,开发工具---宏,选“工作薄间工作表合并”,然后“执行”。(添加开发工具方法:打开excel-文件-选项-自定义功能区-开发工具前打√) 7、在打开的对话窗口中,选择你要合并的多个工作薄。 8、等待运行。而后就OK了。 9、打开名为“汇总工作簿”的Excel文件,我们就能看到多个其他工作簿以多个Sheet页的形式合并到了这一个工作簿中。 第二步:多个工作表合成一个工作表在“汇总工作簿”工作簿中,有很多个Sheet页,我们的最终目的是把这多个Sheet页合并到一个Sheet页的多行。其操作办法如下: 1、在“汇总工作簿”中,新建一个sheet页。 2、在新建的sheet标签上单击右键,选择“查看代码” 3、在打开的VBA编辑窗口中粘贴以下代码: Sub 合并当前工作簿下的所有工作表() Application.ScreenUpdating = False For j = 1 To Sheets.Count If Sheets(j).Name <> ActiveSheet.Name Then X = Range("A65536").End(xlUp).Row + 1 Sheets(j).UsedRange.Copy Cells(X, 1) End If Next Range("B1").Select Application.ScreenUpdating = True MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示" End Sub
4、关闭该VBA编辑窗口 5、在Excel中,开发工具---宏,选“合并当前工作簿下的所有工作表”,然后“执行”。 6、等待运行,而后就OK了。
|