如何快速的合并多个 Excel 工作簿成为一个工作簿

2025-03-23 20:23:37
推荐回答(4个)
回答1:

以WPS 2019版本为例:

关于WPS表格合并多个工作簿,您可使用WPS参考下述步骤完成操作:

1.打开表格文件,点击【数据-合并表格】

2.选择添加需合并的文档-开始合并;

3.合并完成后,被合并的工作簿将会变为多个「工作表」存在于一个「工作簿」内。

回答2:

用一个VBA就可以实现的。
使用方法:
1、新建一个工作薄,将其命名为你合并后的名字。
2、打开此工作薄。
3、在其下任一个工作表标签上点击右键,选择“查看代码”。
4、在打开的VBA编辑窗口中粘贴以下代码:
Sub 工作薄间工作表合并()

Dim FileOpen
Dim X As Integer
Application.ScreenUpdating = False
FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(*.xls),*.xls", 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中,工具---宏---宏,选“工作薄间工作表合并”,然后“执行”。
7、在打开的对话窗口中,选择你要合并的300个工作薄。
8、等待。。。。ok!

回答3:

合并多个工作薄需要用到VBA。

新建一个工作表,在这个工作表的标签上右键,查看代码,你把下面的代码复制到里边去,然后上面有个运行,运行子程序就可以了,代码如下:

Sub
CombineWorkbooks()

Dim wk As Workbook

Dim sh As Worksheet

Dim strFileName As String

Dim strFileDir As String

Dim nm As String

nm = ThisWorkbook.Name

strFileDir = ThisWorkbook.Path &
"\"

Application.ScreenUpdating = False

strFileName = Dir(strFileDir &
"*.xls")

Do While strFileName <>
vbNullString

If strFileName <> nm Then

MsgBox strFileName

Set wk =
Workbooks.Open(Filename:=strFileDir & strFileName, ReadOnly:=True)

strFileName = Left(Left(strFileName,
Len(strFileName) - 4), 29) '取主文件名,除掉.XLS

For Each sh In wk.Sheets

sh.Copy
After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)

'工作表命名,以工作表所在文件名为类

If wk.Sheets.Count > 1 Then

ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name
= strFileName & sh.Name

Else

ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name
= strFileName

End If

Next

wk.Close SaveChanges:=False

End If

strFileName = Dir

Loop

Application.ScreenUpdating = True

End Sub

回答4:

我有个小程序:功能是把多个EXCEL工作簿中的第一个工作表(注意都是第一个表),合并到一个新的工作簿的第一张表中,以上说的表也就是人们常说的SHEET
如果你需要的话,我可以帮你把以上工作完成