|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
以下是本人以前收藏的一个VBA代码,本人觉得不错。这个宏会显示一个对话框,提示你选择要合并的文件。(你可以通过按下Ctrl键单击的方法选择多个工作簿。)它会使用代码在你所选的工作簿列表中循环,打开每个工作簿并将其中的工作表移动到工作簿的末尾。值得一提的是,该宏运行后,如你还想添加别的工作簿合并过来,就只要重新运行一次宏选择你想添加合并的工作簿即可。
Sub CombineWorkbooks()
Dim FilesToOpen
Dim x As Integer
On Error GoTo ErrHandler
Application.ScreenUpdating = False
FilesToOpen = Application.GetOpenFilename(FileFilter: = "MicroSoft Excel文件(*.xls),*.xls",MultiSelect: = True,Title: = "要合并的文件")
If TypeName(FilesToOpen) = "Boolean" then
MsgBox "没有选中文件"
Goto ExitHandler
end if
x = 1
While x <= UBound(filestoopen)
Workbooks.Open fileName: = filestoopen(x)
Sheets().Move After: = ThisWorkbook.Sheets (ThisWorkbook.Sheets.Count)
x = x + 1
Wend
ExitHandler:
Application.ScreenUpdating = True
Exit Sub
ErrHandler:
MsgBox Err.Description
Resume ExitHandler
End Sub
(宏代码应写在第一张工作表中,而不是thisewordbood)
在将工作表添加到工作簿末尾的过程中,Excel会复制工作表的名称并自动根据检测结果附加(2)、(3)等数字编号。工作簿中与其他工作表相关的任何公式也会自动更新的新的名称。
快速合并Excel工作簿.rar
(6.09 KB, 下载次数: 1922)
|
|