发布网友 发布时间:2024-08-19 18:40
共1个回答
热心网友 时间:2024-08-27 23:15
平时工作,可能会因不同的文件创建多个excel工作簿,有些工作簿只包含一个单独的工作表,有些工作簿有多个工作表。时间久了,就想将有用的工作簿合并到一起,不至于每次都来来回回的打开多个工作表。如何实现合并多个工作簿呢?
小编能想到的有两种方法。第一,使用命令实现合并多个工作簿。第二,使用宏代码实现合并多个工作簿。
使用命令合并工作簿的方法是这样的:
打开全部工作簿,右键点击工作名,出现"移动或复制工作表"对话框,在“工作簿”下拉列表选择目标工作簿,在“下列选定工作表之前”选择相应的工作表,可以对工作簿进行移动或者复制,如果是复制,可以勾选“建立副本”。
使用宏代码实现合并多个工作簿的方法:
将下面代码复制到代码页面,然后运行宏就可以了。
Sub 合并工作薄()
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