Excel如何把文件夹下所有文件表合并汇总文件内
1、上次分享了《Excel怎样批量提取文件夹和子文件夹所有文件》,将演示该文件另存为文件名《Excel如何把文件夹下所有文件表合并汇总文件内 .xlsm》(演示文件,下面代码复制到能运行宏的工作簿都可以)如图。

2、然后按下快捷键ALT+F11打常施醒开VBE(宏)编辑界面,在模块1【列没倘取所有文件名】后面复制如下代码:
Sub 所有文件表汇总()
'2020-10-21 21:33:47
Dim sh As Worksheet, r As Long, myr As Range, myrs As Range, m As String
Dim shmm As String, d As Object, wbm As Workbook, wb As Workbook
r = Range("C" & Rows.Count).End(xlUp).Row
If r = 4 Then Exit Sub
m = Range("B1").Text
Set myrs = Range("C5:C" & r)
Workbooks.Add
Set wbm = ActiveWorkbook
On Error Resume Next
Set d = CreateObject("scripting.dictionary")
For Each myr In myrs
If myr.Text <> "" Then
Workbooks.Open myr.Text
Set wb = ActiveWorkbook
For Each sh In ActiveWorkbook.Sheets
If sh.Range("J2").Text <> "" Then
shmm = sh.Range("J2").Text
Else
shmm = sh.Range("H2").Text
End If
my:
d.Add shmm, ""
If Err.Number <> 0 Then
If IsNumeric(Right(shmm, 1)) Then
shmm = Left(shmm, Len(shmm) - 1) & Val(Right(shmm, 1)) + 1
Else
shmm = shmm & "1"
End If
Err.Clear
GoTo my
End If
篇绵 sh.Name = shmm
sh.Copy after:=wbm.Sheets(wbm.Sheets.Count)
Next sh
wb.Close SaveChanges:=False
End If
Next myr
ActiveWorkbook.SaveAs Filename:=m & "\" & "总表.xlsx", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub


3、以上操作动态过程如下:

4、回到工作表窗口,首先在B1填写文件夹路径,然后点下【列举所有文件名】命令按钮,列出所有文件,然后运行【所有文件表汇总】宏(菜单栏中点【视图】中下列表中【宏】列表【查看宏(V)】打开宏对方框,选该宏名,执行),生成“总表”工作簿文件并汇总上面文件所有表,运行过程如下图。




5、如果觉得这篇经验帮到了您,请点击下方的 “投票点赞" 或者“收藏”支持我!还有疑问的话可以点击下方的 “我有疑问”,谢谢啦!