趣文网 > 作文大全

Excel多个工作簿合并到一个工作簿 3个方法任选

2020-11-20 14:15:02
相关推荐

工作中,多个工作簿的数据合并至一个工作溥中是最痛苦的,使用复制粘贴太耗费时间,还容易出错

今天教大家3个方法,轻松解决合并工作簿的问题

1、csv文件,使用bat代码法

这种方法是有限制的,必须是csv格式的Excel文件,很多公司软件里面导出的格式是这种的CSV格式的就可以使用此方法

新建一个文本文档,然后输入代码copy *.csv 合并.csv,关闭保存重命名该文本文档,将文件的后缀txt更改成bat格式双击运行这个bat文件,便自动的生成了一个新的合并.csv文件合并的这个CSV文件就把所有单个的汇聚在一块,如果首行都有标题行,可以进行筛选删除再处理。

2、普通Excel文件,vba代码法

上面的方法是对于csv格式的文件才能使用的,如果是普通的xls或xlsx格式的话,就不适用了,这个时候,可以使用VBA代码法

新建一个工作表,然后在开发工具选项卡下,点击VisualBasic,然后输入一段代码点击开发工具上方的宏,运行这段宏,便可以汇总所有的数据了

其中的代码如下:

Sub 合并目录所有工作簿全部工作表()Dim MP, MN, AW, Wbn, wnDim Wb As WorkbookDim i, a, b, d, c, eApplication.ScreenUpdating = FalseMP = ActiveWorkbook.PathMN = Dir(MP & "" & "*.xls")AW = ActiveWorkbook.NameNum = 0e = 1Do While MN <> ""If MN <> AW ThenSet Wb = Workbooks.Open(MP & "" & MN)a = a + 1With Workbooks(1).ActiveSheetFor i = 1 To Sheets.CountIf Sheets(i).Range("a1") <> "" ThenWb.Sheets(i).Range("a1").Resize(1, Sheets(i).UsedRange.Columns.Count).Copy .Cells(1, 1)d = Wb.Sheets(i).UsedRange.Columns.Countc = Wb.Sheets(i).UsedRange.Rows.Count - 1wn = Wb.Sheets(i).Name.Cells(1, d + 1) = "表名".Cells(e + 1, d + 1).Resize(c, 1) = MN & wne = e + cWb.Sheets(i).Range("a2").Resize(c, d).Copy .Cells(.Range("a1048576").End(xlUp).Row + 1, 1)End IfNextWbn = Wbn & Chr(13) & Wb.NameWb.Close FalseEnd WithEnd IfMN = DirLoopRange("a1").SelectApplication.ScreenUpdating = TrueMsgBox "共合并了" & a & "个工作薄下全部工作表。如下:" & Chr(13) & Wbn, vbInformation, "提示"End Sub

3、使用PQ方法(适用于Excel2016及以上)

pq法不需要使用长长的代码,制作的过程如下

在数据选项卡下,新建查询,从文件,从文件夹,选中存放数据的文件夹,加载编辑在弹出的PQ查询器中,添加列,自定义列,输入公式:Excel.Workbook([Content],true)在弹出的自定义列中进行筛选,只选择data继续筛选,这次所有的列都进行保留在菜单中,关闭并上载至Excel表格,删除不需要的数据区域即可

下次再遇到需要合并工作簿的时候,不用去复制粘贴了,这3个方法,你更喜欢用哪个方法呢?动手试试吧~

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

三年级下学期作文 自强不息作文素材 描写小兔子的作文 我渴望作文600字 英语电影影评英语作文 100字作文摘抄 六一的作文400 介绍动物的英语作文 横式结构作文 洗碗作文300字 鲁迅故居作文 家风作文300字 学生作文网 巴西龟 作文 小学三年级英语作文 写事作文700字 植物生长过程作文 对未来的憧憬作文 假期旅行英语作文 心中的美景 作文 我最欣赏的人作文 让世界充满爱 作文 高考英语作文预测 小学二年级作文怎么写 哈利波特英语作文 不一样的世界作文 关于思念的作文 狮子林作文 青春风采作文 家规家训家风作文