如何使用VBA将多个Excel表合并成一个Excel表

如何使用VBA将多个Excel表合并成一个Excel表

所需工具Excel

第一步:将需要合并的.xlsx文件置于同一文件夹下,并新建一个空的excel文件

如何使用VBA将多个Excel表合并成一个Excel表_第1张图片(图中需要合成PRE-201101----PRE-201112共12个文件,首先新建文件PRE.xlsx)

第二步:打开PRE.xlsx,并在sheet1右击选择查看代码。

如何使用VBA将多个Excel表合并成一个Excel表_第2张图片

第三步:编写代码

Sub all_contents()

Dim mypath, myname, awbname

Dim wb As Workbook, wbn As String

Dim g As Long

Dim num As Long

Dim box As String

Application.ScreenUpdating = False

mypath = ActiveWorkbook.Path

myname = Dir(mypath & "\" & "*.xlsx")

awbname = ActiveWorkbook.Name

num = 0

Do While myname <> ""

If myname <> awbname Then

Set wb = Workbooks.Open(mypath & "\" & myname)

num = num + 1

With Workbooks(1).ActiveSheet

.Cells(.Range("a1048576").End(xlUp).Row, 1) = Left(myname, Len(myname) - 4)

For g = 1 To Sheets.Count

wb.Sheets(g).UsedRange.Copy .Cells(.Range("a1048576").End(xlUp).Row, 1)

Next

wbn = wbn & Chr(13) & wb.Name

wb.Close False

End With

End If

myname = Dir

Loop

Range("a1").Select

Application.ScreenUpdating = True

MsgBox "恭喜大人,已成功合并" & num & "个工作表。合并文件如下所示:" & Chr(13) & wbn, vbInformation, "提示"

End Sub

其中a1048576表示excel2019中第一列最后一行。

点击运行,最后提示成功即可。

如何使用VBA将多个Excel表合并成一个Excel表_第3张图片
如何使用VBA将多个Excel表合并成一个Excel表_第4张图片

你可能感兴趣的:(如何使用VBA将多个Excel表合并成一个Excel表)