首页 > 专题 > excel > 正文

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

silencement
发布: 2019-06-19 14:36:09
原创
85709人浏览过

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

为了实现将无数个有相同数据格式的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
登录后复制

运行,等待……合并好了后会弹出提示。

以上就是excel中如何将多个sheet合并成一个的详细内容,更多请关注php中文网其它相关文章!

WPS零基础入门到精通全套教程!
WPS零基础入门到精通全套教程!

全网最新最细最实用WPS零基础入门到精通全套教程!带你真正掌握WPS办公! 内含Excel基础操作、函数设计、数据透视表等

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号