-
2022-04-17 20:01:17
VBA学习笔记4:将同一文件下的多个工作簿的数据汇总为一个工作表
1、删除新建的工作簿中除“汇总表”外的其他工作表;
2、遍历文件夹下的其他工作簿,并将每个工作簿的工作表复制到“汇总表”和新建表的其他sheet中。效果如下:
同一文件夹中有多个工作簿,需要将工作簿的数据汇总在一个表中,并生成一个汇总表。运行前:
运行后:
代码如下:
Sub 汇总同一文件下的工作簿数据() Dim file$ '用来存储文件夹下的工作簿名称 Dim sht As Worksheet '用来存储各个工作簿中待复制的工作表,下称“各表” Dim rng As Range '用来存储各表待复制区域 Dim k% 'k记录各表的行数 Dim nk% 'nk记录行数 Dim m% 'm为当前工作簿中表的个数 '删除新建的工作簿除“汇总表”外的其他sheet For Each sht In ThisWorkbook.Worksheets If sht.Name <> "汇总表" Then Application.DisplayAlerts = False sht.Delete Application.DisplayAlerts = True End If Next sht '设置初始值 m = m + 1 '工作簿只有1个表 Cells.Clear '清空数据 [a1] = "班级": [b1] = "姓名": [c1] = "语文": [d1] = "数学": [e1] = "英语" file = Dir(ThisWorkbook.Path & "\*.xlsx") '仅读取xlsx格式的文件 '以下是将文件夹中的数据簿复制到一个工作簿的不同表中 Do While file <> "" Workbooks.Open ThisWorkbook.Path & "\" & file Set sht = ActiveWorkbook.Worksheets(1) '打开后各表成为活动工作簿,sht存储这些工作簿的第一个工作表(假设这些数据都存在第一个表) k = WorksheetFunction.CountA(sht.[a:a]) 'k为各表的行数 Set rng = sht.Range("a2:d" & k) 'rng为要复制的区域,rng为对象,一定要用set赋值 nk = WorksheetFunction.CountA(ThisWorkbook.Worksheets("汇总表").[a:a]) 'nk为Sheet1表的行数 rng.Copy ThisWorkbook.Worksheets("汇总表").Cells(nk + 1, 2) '粘贴到sheet1表,粘贴的起始单元格为nk+1行 ThisWorkbook.Worksheets("汇总表").Range(Cells(nk + 1, 1), Cells(nk + 1, 1)(k - 1, 1)) = Replace(file, ".xlsx", "") '从a列的nk+1行开始赋值,赋值的行数是k-1,cells(m,n)(k,s)是指的以m行n列为首,向下移动k-1行n-1列,如果k=1,s=1则表示不变 sht.Copy after:=ThisWorkbook.Worksheets(m) '将sht复制到现有sheet的后面,worksheets(1),worksheets(2)指的按照顺序的第一、二个工作表;sheet1是指我们在工作簿建表时的顺序,如果表被删除,则sheet1就不存在了,但是worksheets(1)是存在的 ActiveSheet.Name = Replace(file, ".xlsx", "") '将新建的sheet重命名 Workbooks(ThisWorkbook.Path & "\" & file).Close '关闭各表 m = m + 1 file = Dir Loop End Sub
更多相关内容 -
多工作簿多个工作表,全部数据汇总(工作簿内多个工作表,每个的格式,标题相同)
2020-12-03 13:27:50多工作簿多个工作表,全部数据汇总(工作簿内多个工作表,每个的格式,标题相同) -
vba汇总多个工作簿到一个工作表
2018-08-17 19:08:21可以通过该工作簿的代码修改成自己想要的工作簿,方便以后每次汇总多个工作簿 -
多工作簿指定工作表,全部数据汇总
2020-12-03 13:16:35多工作簿指定工作表,全部数据汇总 -
汇总多个工作簿到一个工作表
2018-07-02 11:29:16将多个Excel工作簿汇总到一个工作表,可以使用VBA,也可以使用power query。 -
合并选定的多个Excel文件中的所有工作表到一个文件中(多个工作表)-工具
2017-06-29 07:56:27VBA代码,可以合并选定的多个Excel文件中的所有工作表到一个文件中(多个工作表) -
excel合并多个工作表_多个Excel工作表合并到一个工作簿?很简单!
2020-11-18 11:26:21(注:PowerQuery是微软推出的一个功能强大的数据抓取工具,在Excel2013中需要安装官方插件才能使用,在Excel2016及以后版本中已经内置)例:现有如下N个工作表,每个工作表位于独立的工作薄内,每个工作表的数据都由...
精进Excel如果任意点开三篇,没有你想要的知识,算我耍流氓!
Excel多工作表合并可以采用PowerQuery来实现,不需要复杂的代码、不需要额外的插件!
(注:PowerQuery是微软推出的一个功能强大的数据抓取工具,在Excel2013中需要安装官方插件才能使用,在Excel2016及以后版本中已经内置)
例:现有如下N个工作表,每个工作表位于独立的工作薄内,每个工作表的数据都由月份、产品、数量三列组成,现需要所有数据合并至同一个工作薄的一个工作表中。
Step1:使用PowerQuery抓取文件信息
首先将需要合并的多个Excel文件放到一个文件夹下。然后在其它位置新建并打开一个空白工作薄用于存储汇总好的数据,依次点击【数据】选项卡——新建查询——从文件——从文件夹。
在弹出的对话框中,“文件夹路径”选择需要合并的多个Excel文件所在的文件夹。
点击确定后就进入了PowerQuery界面,文件夹下的所有文件基本信息已经被提取至当前页面,包括文件名、后缀名、文件创建时间、文件完整路径等信息。
Step2:使用PowerQuery汇总文件数据
依次点击添加列——添加自定义列,并输入自定义列公式=Excel.Workbook([Content]),公式注意首字母要大写。
将新添加的列扩展,仅选择“Data”。
将得到的Custom.Data列再次扩展。
此时已经将多个文件的数据汇总完成。
Step3:将Power Query中的数据上载到Excel工作界面
选择“关闭并上载至”,将数据加载到Excel工作表界面。
删除多余标题行后,最终结果如下。
使用PowerQuery汇总数据的一大优点是它存储了一个数据自动汇总过程并建立了一个动态链接,后期如果需要更新数据,只要把新的文件放入文件夹内,并在汇总Excel内刷新查询,即可按照设定好的规则自动提取及汇总所有数据。
-
多个excel工作簿合并_EXCEL2016中如何快速合并多个工作簿中内容到一个工作表
2020-11-18 11:23:41在工作中,时常要遇到将许多个工作簿中的数据合并到一个工作表中,一个一个的复制粘贴吧,几个表或者十几个表还行,再多了恐怕就太费时了,如果再多点比如有几十上百个表要合并,而且又催得急可能就不是加不加班的...在工作中,时常要遇到将许多个工作簿中的数据合并到一个工作表中,一个一个的复制粘贴吧,几个表或者十几个表还行,再多了恐怕就太费时了,如果再多点比如有几十上百个表要合并,而且又催得急可能就不是加不加班的问题了,而是会不会耽误工作的重大问题了,一旦耽误了工作其后果是可以想见的。
今天在这里给大家分享一个快速合并多个工作簿中内容到一个工作表的方法,此方法必须有一个前提条件,这是这些工作簿中的工作表必须是同样的结构。
如上图所示,每一个表都具有:序号、学生姓名、性别、出生日期、民族、年级、班级、户口性质这些字段,同时顺序一致。
首先,将所有需要合并的表以及最终结果表放在同一个文件夹中,如下图所示:
打开最终需要的结果表,本例中就是“2019级在校生信息”表,点击“数据”菜单,点击“新建查询”,点击“从文件”,选择“从文件夹”,如下图所示:
点击“从文件夹”,在出现的界面中点击“浏览”,找到刚才建立的文件夹,如下图所示:
点击“确定”,点击“确定”,然后出现如下图的结果。
在上图界面中点击“添加列”,点击“添加自定义列”,出现如下界面:
然后在“自定义列公式”下面的框中输入如下公式:
=Excel.Workbook([Content]),(注意公式中的首字母是大写的),然后点击确定,此时可以看到后面多了一列,列标为“Custom”的列。如下图所示:
在最后一列的筛选器中筛选,只选择”DATA”数据选项,将其他选项前面的勾都去掉,如下图:
在上图界面中点出确定,这样原来的列标“Custom”就变成“Custom.data”,如下所示:
继续对“Custom.data”右边按钮进行点击,在出现的界面中直接点击确定。
点击确定后等待几秒钟,表格中所有的数据就显示出来了,如下图所示:
点击“文件”或“开始”,点击“关闭并上载”得到如下表格:
上图表中从“序号”开始后面的数据就是我们需要的,删除“序号民”列前面的数据,得到最终汇总结果:
是不是超简单呢?书上得来终觉浅,绝知此事要躬行。喜欢的话,就跟着我的步骤操作一遍吧。
-
将Excel工作表按列拆分成多个Excel文件小工具
2022-03-03 17:34:15例如:A列有10条数据,汇总后是三个员工,使用小工具可以将表按照每个员工拆分成单独的Excel文件 关键点: 1、小工具要与Excel文件放在同一个文件夹下; 2、标题行唯一,不能跨行; 3、以某列为的数据为标准值进行... -
excel合并多个工作表_如何将多个Excel工作薄中工作表批量合并到一个工作薄
2020-11-18 11:40:49编辑:哈雷 |来源:巨盒创意 | 欢迎转发到朋友圈日常工作中,我们可能有这样的需求,我们的数据分别存放在N个工作簿里,我们需要把这些零散的数据都移动到一个工作簿里面,而且每张工作表分别存在!我们常用的方法是...编辑:哈雷 | 来源:巨盒创意 | 欢迎转发到朋友圈
日常工作中,我们可能有这样的需求,我们的数据分别存放在N个工作簿里,我们需要把这些零散的数据都移动到一个工作簿里面,而且每张工作表分别存在!
我们常用的方法是,一个个打开工作簿,通过移动工作表的方式一个个移动过去,但是如果我们的数据量很大时,这样做是很麻烦的事情,下面给大家介绍一个十分简单的方法,几秒钟实现我们的目的!
1、新建“工作表合并.xlsx”文件>> 选项>> 信任中心>> 点击“信任中心设置”按钮>> 宏设置>> 选中“启用所有宏”点击“确定”按钮。 // 要执行VB代码必须先启用宏设置。
2、右键单击任意一个工作表标签,在弹出的右键快捷菜单单击“查看代码”进入VBA编辑环境 >>“代码窗口”复制粘贴以下代码,按下F5快捷键执行这段代码或者在菜单中单击“运行子过程/用户窗体”命令。
Sub 合并工作薄()
Dim FileOpen
Dim X As Integer
Application.ScreenUpdating = False
FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(*.xlsx),*.xlsx", MultiSelect:=True, Title:="2015")
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
3、选择要合并的工作表文件,点击“打开”,程序运行的工程中不要进行任何操作,等待宏运行完成。
4、运行完成后,工作薄中会出现所有要合并的工作薄中的工作表,如下图所示:
关注巨盒创意微信公众号,免费学习更多精品教程,高效、便捷办公。
End
-
VBA一键汇总多个工作簿-名称相同的工作表-的指定区域数据
2021-11-19 22:48:44VBA一键汇总多个工作簿-名称相同的工作表-的指定区域数据 日常工作,我们经常需要汇总相同格式的工作簿的某个工作表的数据 如1月业绩、2月业绩。。。。12月业绩等 姓名 数量 数据22 22 数据23 23 ... -
VBA宏汇总同文件夹下多工作簿数据
2018-12-04 09:06:33自己学习VBA编程时,利用excel内VBA宏编写的简单命令,涉及一些基础的操作,亲测可用,初学者可以借鉴,也能利用其解决一些简单的办公问题。 -
Excel多个工作簿合成为一个工作表
2020-08-21 14:02:20Excel多个工作簿合成为一个工作表 目录 前言 第一步:多张工作簿合并成一个“汇总工作簿”,操作如下: 第二步:把多张sheet表合并成一张sheet工作表,操作如下: 总结 前言 在工作中,我们会遇到这种情况,... -
多个excel工作簿合并_如何使用Excel VBA将多个工作簿的全部工作表合并到一个工作簿中...
2020-11-18 11:26:21在一些操作中,往往会需要将多个工作簿进行合并。一般的操作方法都是打开两个工作簿,然后选中需要移动的工作表,右键单击以后选择“移动或复制”。接下来在新的窗口里面进行设置就可以了。这种方法适合在移动数量较... -
excel合并多个工作表_excel汇总多个工作表数据的神器——合并计算
2020-11-18 11:14:40在excel中,经常会遇到多个表格的数据需要汇总,但是有时候每个表格的顺序、项目不一定完全相同,比如下图中,动图一是五个不完全相同的工作表,如何将五个工作表的数据汇总到一个工作表中(图二所示),并对这些数据... -
EXCEL实现多个工作表的快速数据汇总分类
2019-01-12 18:12:29这是对EXCEL数据透视表的应用,教程参考来自EXCEL HOME,这里附上我的全部练习过程和图片。本文中所用所有图片以及文字均为本人原创,但为尊重原作者,故还是打上了转载的标签。如需转载,还请标上本人昵称qk61508或... -
【Python】将多个工作簿中的数据按列合并到同一个工作表
2020-11-29 11:30:481.需求描述现在有三个工作表,如下:并且每个工作表中的内容如下:需要将这三个工作簿中的分数这一列合并到一起,最终实现效果如下图:2.实现代码# Author:Logan# Date:2020/6/2 9:58# IDE:PyCharm# version:Python ... -
VBA多工作簿中多工作表分类汇总
2022-05-13 16:53:27将某一文件夹下所有工作簿中的多张表单汇总到一个工作薄中的一张表单中 最终效果: 步骤流程: 完整代码: ========================================================================= 1、汇总当前... -
多个EXCEL工作表合并说明
2013-01-16 14:17:40多个工作表合并说明: 1、需要将合并的工作移到同一个文件夹下; 2、只统计合并SHEET1工作表,数据从第二行开始汇总, 3、工作薄数量不要太多, -
excel合并多个工作表_这三个公式,可以帮您合并任意多个Excel工作表
2020-11-18 11:40:49今天教你一招,只要学会使用这三个Excel函数公式,就可以合并任意多个工作表。【案例】在下图所示的工作簿里,有行数可能存在差别、但格式却相同的四个表格,现在如果让你把这4个表合并到一个“汇总”表中,你会怎么... -
excel宏(将一个工作簿拆成多个工作表)
2015-12-26 09:56:19本程序代码的功能是将一个EXCEL工作簿拆成多个工作表。 -
多个工作表数据汇总
2021-09-21 20:59:11今天跟大家分享一下多个工作表数据汇总 1.打开演示文件,如下图要求快速汇总出各个工作表数据之和。 2.如下图选中数据单元格区域 3.然后我们点击下图选项 4.点击【汇总拆分】-【汇总多... -
excel自动汇总多个工作表数据
2022-05-06 21:58:561.如下图五个工作表分别为为1-5号这五天单位员工产品完成量,现在我们想要快速统计出每位员工这5天完成量总和。 2.选择除日期列以外的所有单元格区域 3.点击下图选项(Excel工具箱,百度即可... -
excel 宏把多个工作表合并成一个工作表
2019-09-01 16:20:38那其实也可以把多个工作表合并为一个。 继续之前的例子,我们把汇总表删除 如下 把表 1,2,3 合并到sheet5中 合并代码如下: Sub 合并当前工作簿下的所有工作表() Application.ScreenUpdating = Fals... -
VBA在多Excel工作薄数据汇总的应用
2021-04-18 09:45:43利用Excel进行数据处理分析时,常需要对大量独立的具有相同表结构的原始工作薄中的数据进行汇总合并到一个工作薄的指定工作表中。通过VBA编程调用Excel对象在不打开源工作薄的情况下,将指定文件夹中所有工作薄中的... -
合并多工作簿中同名工作表
2022-01-19 22:10:24需要将要合并的工作簿放在同一个文件夹内,功能如下: 1、多工作表数据汇总 2、多工作簿数据汇总 3、多工作薄汇总生成新工作表 -
6.5 对多个工作簿中的工作表分别进行分类汇总
2021-04-26 22:27:40file_path = r'D:\python_file\销售表' file_list = os.listdir(file_path) # 列出文件夹下所有文件和子文件夹的名称 for i in file_list: if os.path.splitext(i)[1] == '.xlsx': # 判断文件是否 -
excel合并多个工作表_Excel对多个工作表的数据进行合并统计
2020-11-18 11:40:492、根据需要选择【函数】,单击【引用位置】右侧的箭头,选择需要合并计算的第一个工作表中的数据区域,单击箭头返回并【添加】,并以此添加需要计算的所有工作表区域。3、勾选【标签位置】的【首行】和【最左列】并... -
VBA学习笔记6:将多个工作表中满足条件的数据汇总到同一个工作表
2022-04-20 21:41:44VBA学习笔记6:将多个工作表中满足条件的数据汇总到同一个工作表 -
用VBA合并计算Excel多个工作簿及工作表
2021-12-05 11:44:53VBA - Excel多工作簿合并计算