Excel宏实现多表合并并区分数据来源
需积分: 13 42 浏览量
更新于2024-09-08
收藏 1KB TXT 举报
本文档介绍了如何使用VBA在Excel中实现多表合并,并且为每个数据集添加源表名称以方便区分数据来源。操作步骤如下:
1. **环境设置**:
在Excel中,用户首先需要通过ALT + F11快捷键进入宏编辑器,因为我们将编写VBA宏来执行合并操作。
2. **宏函数定义**:
宏名为`Sub archer()`,定义了几个变量,如`MyPath`, `MyName`, `AWbName`等,分别用于存储路径、文件名和当前活动工作簿的名字。此外,还有`Wb`(工作簿对象)、`sht`(工作表对象)、`lr`(行号)、`BOX`(字符串变量)等。
3. **遍历多个Excel文件**:
通过`Dir`函数获取指定路径下的所有`.xls`文件,然后逐一打开这些文件。当遍历到的文件名不等于当前活动工作簿时,程序会执行以下操作:
- **插入表名列**:在每个工作表的首列(假设为A列)右侧插入新列,用`xlToRight`参数,将原表头的格式保留。
- **添加表名**:在新列的第一行写入工作簿的名称,之后填充所有行的表名。
- **格式化表头**:对新添加的表名列设置边框线样式为连续线。
4. **合并数据**:
将所有工作簿中的数据复制到活动工作簿的指定位置(默认B65536行之后),并保留原工作簿的名称信息。这里使用了嵌套循环,外层循环遍历合并的工作簿,内层循环复制每个工作表的已使用范围。
5. **关闭非活动工作簿**:
在完成数据合并后,关闭非活动工作簿,但不会保存更改。
6. **结束操作**:
最后,恢复屏幕更新状态,选择B1单元格作为合并后的数据区域的起始位置。
通过这个VBA宏,用户可以批量合并多个Excel表格,并通过表名标识数据的来源,这对于管理和分析大量数据时非常有用。然而,由于代码会复制表头,如果不需要表头,用户可以在合并后使用Excel的筛选功能或宏进行删除。
2021-09-18 上传
2010-02-10 上传
2022-11-28 上传
2023-06-08 上传
2023-06-06 上传
2023-06-09 上传
2023-06-06 上传
2023-06-09 上传
2023-06-06 上传
jiakajian3672
- 粉丝: 0
- 资源: 1
最新资源
- 用于学习vue2、node、MySQL的自研项目.zip
- Python-with-machine-learning
- ufmt:格式化所有代码文件!
- LinhProfile
- 这个是很久之前自己学习MySQL所做的一些笔记.zip
- FLARE21nnUNetBaseline:FLARE21的基线nnUNet模型
- 抛出无法找到主类:org.apache.axis.wsdl.WSDL2Java
- workshop-vue:WorkShop Vue,主要概念介绍
- white-helmets:在白头盔纸上复制RT Disinfo的代码
- Java SSM基于JavaEE的网上图书分享系统【优质毕业设计、课程设计项目分享】
- Panzer-Predicament:作者:安德鲁·李,克里斯托弗·敏和凯文·墨菲
- pantheon-helper:用于 Pantheon 服务的常用 Git 和 Drush 命令的 Bash 菜单
- 孤独聊天
- 源码主要用于学习:1. Spring Boot+Hadoop+Hive+Hbase实现数据基本操作,Hive数据源使.zip
- resr_rpwq.dll库文件
- Kapok 超简单的序列化库