热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

excel不同文件表格批量加表头vba_VBA宏之批量合并同一文件夹下的Excel表格

此宏解决的痛点:多个表格字段相同,需要手工一个个打开之后复制合并到一个表上面的难题。宏使用方式:如下代码贴到VBE编辑器里后,

此宏解决的痛点:

多个表格字段相同,需要手工一个个打开之后复制合并到一个表上面的难题。

宏使用方式:

如下代码贴到VBE编辑器里后,不需任何修改即可直接使用。使用前确保要合并的Excel放置在同一个文件夹内,点击宏后,把存放Excel的文件夹的地址粘贴到弹出框即可。

示例:

1、待合并的EXCEL放在同一个文件夹内

2、使用宏,粘贴路径地址

3、大功告成

如下为代码

Sub 合并指定文件夹的工作簿()

Dim MP, MN, AW, Wbn, wn

Dim Wb As Workbook

Dim i, a, b, c, d, e

Application.ScreenUpdating = False

MP = InputBox("请输入需要合并的文件夹的地址,如D:\")

Workbooks.Add

'遍历地址下所有拓展名含xls的文件

MN = Dir(MP & "\" & "*.xls*")

'获取当前工作簿名称

Num = 0

e = 1

'一个一个的打开工作簿,只要打开了,就执行以下的命令

Do While MN <> ""

&#39;如果工作簿和汇总的表格名称不一致&#xff0c;则执行以下的命令

If MN <> AW Then

Set Wb &#61; Workbooks.Open(MP & "\" & MN)

&#39;计数现在汇总了几张表

a &#61; a &#43; 1

With Workbooks(AW).ActiveSheet

&#39;确定当前工作簿有多少个工作表&#xff0c;一个一个的打开

For i &#61; 1 To Sheets.Count

&#39;如果工作表的A1单元格不为空&#xff0c;则执行如下语句

If Sheets(i).Range("A1") <> "" Then

&#39;复制首行/表头

Wb.Sheets(i).Range("A1").Resize(1, Sheets(i).UsedRange.Columns.Count).Copy .Cells(1, 1)

&#39;确定待复制的工作表总共有多少列

d &#61; Wb.Sheets(i).UsedRange.Columns.Count

&#39;确定待复制的工作表剔除表头有多少行

c &#61; Wb.Sheets(i).UsedRange.Rows.Count - 1

&#39;增加一列填入工作簿&工作表名

wn &#61; Wb.Sheets(i).Name

.Cells(1, d &#43; 1) &#61; "表名"

.Cells(e &#43; 1, d &#43; 1).Resize(c, 1) &#61; MN & wn

e &#61; e &#43; c

&#39;复制表格信息到汇总表里

Wb.Sheets(i).Range("A2").Resize(c, d).Copy .Cells(.Range("A1048576").End(xlUp).Row &#43; 1, 1)

End If

Next

&#39;将刚打开的表格名和前面已汇总过的表格名组合起来

Wbn &#61; Wbn & Chr(13) & Wb.Name

&#39;关闭当前工作簿

Wb.Close False

End With

End If

MN &#61; Dir

&#39;循环

Loop

Range("A1").Select

Application.ScreenUpdating &#61; True

MsgBox "共合并了" & a & "个工作簿下全部工作表。明细如下&#xff1a;" & Chr(13) & Wbn, vbInformation, "提示"

End Sub



推荐阅读
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 自然语言处理(NLP)——LDA模型:对电商购物评论进行情感分析
    目录一、2020数学建模美赛C题简介需求评价内容提供数据二、解题思路三、LDA简介四、代码实现1.数据预处理1.1剔除无用信息1.1.1剔除掉不需要的列1.1.2找出无效评论并剔除 ... [详细]
  • 本文详细介绍了如何使用Python的多进程技术来高效地分块读取超大文件,并将其输出为多个文件。通过这种方式,可以显著提高读取速度和处理效率。 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • 通过将常用的外部命令集成到VSCode中,可以提高开发效率。本文介绍如何在VSCode中配置和使用自定义的外部命令,从而简化命令执行过程。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 零拷贝技术是提高I/O性能的重要手段,常用于Java NIO、Netty、Kafka等框架中。本文将详细解析零拷贝技术的原理及其应用。 ... [详细]
  • Visual Studio Code (VSCode) 是一款功能强大的源代码编辑器,支持多种编程语言,具备丰富的扩展生态。本文将详细介绍如何在 macOS 上安装、配置并使用 VSCode。 ... [详细]
  • 在分析Android的Audio系统时,我们对mpAudioPolicy->get_input进行了详细探讨,发现其背后涉及的机制相当复杂。本文将详细介绍这一过程及其背后的实现细节。 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
    大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 属性类 `Properties` 是 `Hashtable` 类的子类,用于存储键值对形式的数据。该类在 Java 中广泛应用于配置文件的读取与写入,支持字符串类型的键和值。通过 `Properties` 类,开发者可以方便地进行配置信息的管理,确保应用程序的灵活性和可维护性。此外,`Properties` 类还提供了加载和保存属性文件的方法,使其在实际开发中具有较高的实用价值。 ... [详细]
author-avatar
杨琴琴qin
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有