多文件文件内多表的合并

Sub dbhb()

'多表文件合并
'把目录下所有文件名输入表格
Dim str As String
Dim wb As Workbook
Dim sht As Worksheet

str = Dir("d:data*.*")
'可以把文件名改为"*.xls*"

For i = 1 To 100
' range("a" &i)=s=tr
' workbooks.open ("d:data" & str)

Set wb = Workbooks.Open("d:data" & str)
'这是打开所有文件
For Each sht In wb.Sheets

wb.Sheets(1).Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)

'把新打开文件内的表copy到this 当前工作表最后一张表内
ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = Split(wb.Name, ".")(0) & sht.Name

'重命名新的表,为文件名+表名

Next

wb.Close
'这是把打开的文件关闭
str = Dir
If str = "" Then
Exit For
'如果 str为空,退出循环
End If
Next

End Sub

原文地址:https://www.cnblogs.com/yihao529/p/12294402.html