请使用以下代码
Sub
CombineWorkbooks()
Dim wk As Workbook
Dim sh As Worksheet
Dim strFileName As String
Dim strFileDir As String
Dim nm As String
nm = ThisWorkbook.Name
strFileDir = ThisWorkbook.Path &
"\"
Application.ScreenUpdating = False
strFileName = Dir(strFileDir &
"*.xls")
Do While strFileName <>
vbNullString
If strFileName <> nm Then
MsgBox strFileName
Set wk =
Workbooks.Open(Filename:=strFileDir & strFileName, ReadOnly:=True)
strFileName = Left(Left(strFileName,
Len(strFileName) - 4), 29) '取主文件名,除掉.XLS
For Each sh In wk.Sheets
sh.Copy
After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
'工作表命名,以工作表所在文件名为类
If wk.Sheets.Count > 1 Then
ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name
= strFileName & sh.Name
Else
ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name
= strFileName
End If
Next
wk.Close SaveChanges:=False
End If
strFileName = Dir
Loop
Application.ScreenUpdating = True
End Sub
多表合一表 我帮你实现