别再为Excel中合并多个工作簿闹心了,试试这2种方法,分分钟搞定

前面的《Excel中多个工作表拆分生成单个文件,同事1分钟搞定了

》教程,小编教大家快速拆分Excel表格,今天小编再教大家多个工作簿的数据合并到一个工作簿中。

别再为Excel中合并多个工作簿闹心了,试试这2种方法,分分钟搞定

情况一:Excel文件中的CSV格式

很多软件导出的的表格文件格式CSV格式,也就是文件的后缀名是.csv

1、新建一个文本文档,然后在文档中输入:copy *.csv 合并.csv ,关闭保存文档

别再为Excel中合并多个工作簿闹心了,试试这2种方法,分分钟搞定

别再为Excel中合并多个工作簿闹心了,试试这2种方法,分分钟搞定

2、将该文档后缀名.txt改成.bat

别再为Excel中合并多个工作簿闹心了,试试这2种方法,分分钟搞定

3、双击这个文件,便自动生成了新的合并Excel文件

【注意】此方法只适用于CSV格式的Excel文件

情况二:用VBA代码

1、打开Excel,新建一个工作表,并保存在与需要合并数据的工作簿同一个文件夹下

2点击【开发工具】选项卡中的【VisualBasic】按钮,或按Alt+F11键,调出VBA代码窗口

别再为Excel中合并多个工作簿闹心了,试试这2种方法,分分钟搞定

3、在VBA窗口中,点击左侧列表中的【ThisWorkbook】,然后输入代码:

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

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

e = e + c

Wb.Sheets(i).Range("a2").Resize(c, d).Copy .Cells(.Range("a1048576").End(xlUp).Row + 1, 1)

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

别再为Excel中合并多个工作簿闹心了,试试这2种方法,分分钟搞定

【说明】不明白代码的小伙伴们,可以直接复制-粘贴,再运行就好了。

你学会了吗?记得给小编转发、点赞哟!需要什么教程可以在评论区留言


专栏

WPS2019表格和文字二合一教程

作者:Excel与财务

98币

24人已购

查看



分享到:


相關文章: