excel中怎么将多个sheet合成一个
7个回答
2019-11-08 · 旨在提供办公软件的问答帮助。
WPS官方
金山办公软件为金山软件集团子公司,主要研发并运营WPS系列办公软件。WPS是我国自主知识产权的民族软件代表,自1988年诞生以来,WPS Office已经成为全世界最知名的办公软件之一。
向TA提问
关注
展开全部
作者:黎明
链接: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
运行,等待……合并好了后会弹出提示。
链接: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
运行,等待……合并好了后会弹出提示。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你说的合并是汇总吗?如果用数据的“合并计算”功能当然累,而且不能实时更新,但用一个公式就解决了,而且汇总的数据能实时自动更新,方法就是在要合并的sheet中的相应单元格中(如A2)输入=sum(sheet1:sheet50!A2),就把sheet1直到sheet50中A2的单元格数据汇总到当前表中的A2了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请参考:
如何快速合并单个excel表中的多个sheet的工作页_百度经验
http://jingyan.baidu.com/article/19020a0ad8080d529d28422a.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询