设置主页 | 收藏本站 Excel学习网-公益型的EXCEL在线学习网站,助您轻松办公!

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

2020年02月28日 19:43 发布来源:Excel学习网

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

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

 

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

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

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

  1. 新建一个文本文档,然后输入代码copy *.csv 合并.csv,关闭保存
  2. 重命名该文本文档,将文件的后缀txt更改成bat格式
  3. 双击运行这个bat文件,便自动的生成了一个新的合并.csv文件

合并的这个CSV文件就把所有单个的汇聚在一块,如果首行都有标题行,可以进行筛选删除再处理。

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

 

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

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

  1. 新建一个工作表,然后在开发工具选项卡下,点击VisualBasic,然后输入一段代码
  2. 点击开发工具上方的宏,运行这段宏,便可以汇总所有的数据了
Excel多个工作簿合并到一个工作簿,3个方法任选

 

其中的代码如下:

Sub 合并目录所有工作簿全部工作表()
Dim MP, MN, AW, Wbn, wn
Dim Wb As Workbook
Dim i, a, b, d, c, e
Application.ScreenUpdating = False
MP = ActiveWorkbook.Path
MN = Dir(MP & "\" & "*.xls")
AW = ActiveWorkbook.Name
Num = 0
e = 1
Do While MN <> ""
If MN <> AW Then
Set Wb = Workbooks.Open(MP & "\" & MN)
a = a + 1
With Workbooks(1).ActiveSheet
For i = 1 To Sheets.Count
If Sheets(i).Range("a1") <> "" Then
Wb.Sheets(i).Range("a1").Resize(1, Sheets(i).UsedRange.Columns.Count).Copy .Cells(1, 1)
d = Wb.Sheets(i).UsedRange.Columns.Count
c = Wb.Sheets(i).UsedRange.Rows.Count - 1
wn = Wb.Sheets(i).Name
.Cells(1, d + 1) = "表名"
.Cells(e + 1, d + 1).Resize(c, 1) = MN & wn
e = e + c
Wb.Sheets(i).Range("a2").Resize(c, d).Copy .Cells(.Range("a1048576").End(xlUp).Row + 1, 1)
End If
Next
Wbn = Wbn & Chr(13) & Wb.Name
Wb.Close False
End With
End If
MN = Dir
Loop
Range("a1").Select
Application.ScreenUpdating = True
MsgBox "共合并了" & a & "个工作薄下全部工作表。如下:" & Chr(13) & Wbn, vbInformation, "提示"
End Sub

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

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

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

 

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

原创文章如转载请注明:转载自Excel学习网 [ http://www.excelxx.com/]
需要保留本文链接地址:http://www.excelxx.com/jiqiao/12037.html
分享到:
网站地图 | XML地图 | 免责声明 | 关于我们 | Excel学习网:优秀的EXCEL在线学习和资源分享网站。
版权所有: CopyRight © 2013-2018 www.excelcn.com All Rights Reserved.
豫ICP备12002644号