如何将excel中的多个sheet合并成一个

如题所述

以WPS 2019版本为例:

关于如何将excel中的多个sheet合并成一个,您可使用WPS参考下述步骤完成操作:

1、打开「表格(Excel)」文档;

2、点击「数据-合并表格-多个工作表合并成一个工作表」;

3、勾选需合并的工作表即可。

提示:在设置合并工作表时也可添加其他「表格(Excel)」文档来选择其他文档的工作表来合并。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-11-04
作者:黎明
链接:https://www.zhihu.com/question/28706686/answer/129595623
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

为了实现将无数(我的300多)个有相同数据格式的excel表文件合并到一个excel的一个工作簿里面去方便进行后续的筛选,提取数据,分析等等。
需要分两步走:
第一步:将所有的excel合并到一个excel之中;刚才的多表之中的内容化身为现在的一个表,下边的多个sheet。
第二步:把这个excel之中的多个sheet合并到一个sheet之中。
需要的基础软件:拥有VBA的excel软件,可以用微软的包含有VBA的office,也可以用国产的wps之中的专业版。
下边说具体步骤
一不同表合并到一个有很多sheet的表里

1、新建一个工作薄,将其命名为你合并后的名字。
2、打开此工作薄。
3、在其下任一个工作表标签上点击右键,选择“查看代码”。(wps的该按钮在开发工具下)
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、在打开的对话窗口中,选择你需要合并的工作表,如果多的话,可以放在一个文件夹,然后全选。
8、等待。。。。ok!
二 将一个表里的很多sheet合并到一个sheet

1、在包含多个sheet的工作簿中(如多个工作簿合并后含n个sheet的工作簿),新建一个sheet
2、在新建的sheet标签上点击右键,选择“查看代码”(wps的该按钮在开发工具下)
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
运行,等待……合并好了后会弹出提示。
第2个回答  2017-11-03

方法/步骤

    首先我们要有自己的excel数据,并且我们需要的是microsoft excel,WPS没有这些负责的功能。比如我下面举例的,我自己有205页的数据需要合并,

    看到这么多数据页要合并,如果是复制粘贴的话,工作量就很大了。我们现在开始合并,首先要在最前页新建一个工作表。

    在新建的sheet表中“右键”,找到“查看代码”,然后看到宏计算界面。

    看到宏计算界面,我们就只需要把下面的代码复制进去,代码如下,效果如下:

    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

    做完上面的事情,然后只需要点击工具栏上面的“运行”下的“运行子过程/用户窗体”就可以了,合并完之后会有提示。提示完成之后就可以把宏计算界面关闭了。

    6

    合并后的效果如下图,我们看到的是合并之后有8000多行,就是205页合并后的结果。谢谢。如有疑问,请留言。

本回答被提问者采纳
相似回答