批量合并当前目录下xlsx工作簿的所有工作表到单个Excel
本资源是一份VBA宏脚本,用于在Microsoft Excel中合并当前目录下所有.xlsx格式的工作簿中的所有工作表到一个单一的工作簿中。以下是该脚本的重要知识点: 1. **VBA编程**: - 该脚本是用Visual Basic for Applications (VBA) 编写的,适用于Excel,它是一种强大的内部语言,允许用户扩展Excel的功能。 2. **目录遍历**: - `MyPath` 变量存储了活动工作簿所在目录,`Dir` 函数用于查找指定路径下的所有.xlsx文件名。 - 使用 `Do While` 循环遍历目录中的每个工作簿,直到没有更多文件。 3. **打开并操作工作簿**: - `Workbooks.Open` 方法用于打开其他工作簿,如果工作簿名称不等于当前活动工作簿,则执行合并操作。 - `Sheets.Count` 获取每个工作簿的工作表数量。 4. **数据复制和粘贴**: - 使用 `.UsedRange.Copy` 复制源工作表的数据到目标工作簿的第一个空行,`Cells(.Range("B65536").End(xlUp).Row+2,1)` 定位了粘贴的位置。 - `WbN` 变量存储合并后的工作簿列表,每添加一个工作簿,就用回车符(`Chr(13)`)分隔。 5. **关闭工作簿**: - 合并完成后,使用 `Wb.Close False` 关闭已处理的工作簿,`False` 参数表示不保存更改。 6. **最终输出和提示**: - 在循环结束后,显示一个消息框,显示合并的工作簿数量和列表,`vbInformation` 指定了消息类型,用户可以看到合并过程的结果。 通过执行这段代码,用户可以有效地将多个Excel工作簿中的工作表合并到一个文件中,且能保持原数据结构,限制在1048576行内。这对于数据分析、报告汇总等场景非常实用。然而,需要注意的是,如果文件数量巨大或者文件本身过大可能会影响性能。在实际应用中,根据具体需求对文件数量和行数进行适当的优化是必要的。
把这些表放在一个新建立 的文件夹里
第二步:
在这个新建立的文件夹里再新建一个excel表格文件,打开这个文件,
在左下角sheet1标签处右键,查看代码,然后把下面代码 复制进去
然后点运行
运行子过程等几不一会时间就可以了,
你的表格没有合并过和单元格才行,
如果 有这个程序也会中断的,
还有确定每个表的A列得有内容等待合并完以后把B列有空的行用筛选的方式删除了就行
Sub 合并当前目录下所有工作簿的全部工作表()
Dim MyPath, MyName, AWbName
Dim Wb As Workbook, WbN As String
Dim G As Long
Dim Num As Long
Dim BOX As String
Application.ScreenUpdating = False
MyPath = ActiveWorkbook.Path
MyName = Dir(MyPath & "\" & "*.xlsx")
AWbName = ActiveWorkbook.Name
Num = 0
下载后可阅读完整内容,剩余1页未读,立即下载
- 粉丝: 0
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- zlib-1.2.12压缩包解析与技术要点
- 微信小程序滑动选项卡源码模版发布
- Unity虚拟人物唇同步插件Oculus Lipsync介绍
- Nginx 1.18.0版本WinSW自动安装与管理指南
- Java Swing和JDBC实现的ATM系统源码解析
- 掌握Spark Streaming与Maven集成的分布式大数据处理
- 深入学习推荐系统:教程、案例与项目实践
- Web开发者必备的取色工具软件介绍
- C语言实现李春葆数据结构实验程序
- 超市管理系统开发:asp+SQL Server 2005实战
- Redis伪集群搭建教程与实践
- 掌握网络活动细节:Wireshark v3.6.3网络嗅探工具详解
- 全面掌握美赛:建模、分析与编程实现教程
- Java图书馆系统完整项目源码及SQL文件解析
- PCtoLCD2002软件:高效图片和字符取模转换
- Java开发的体育赛事在线购票系统源码分析