Sub 同文件夹下所有文件汇总()
Dim wjj As String
Dim DirName As String
Dim name1 As String
If ActiveWorkbook.Path = "X:\excel" Then Exit Sub '自我保护。
Application.ScreenUpdating = False
For j = 1 To 3 '根据表数
Worksheets(j).Cells.Clear
Next j
wjj = ActiveWorkbook.Path
name1 = ActiveWorkbook.Name
DirName = Dir(wjj & "\*.xls")
Do While DirName <> ""
If DirName <> name1 Then
Workbooks.Open Filename:=wjj & "\" & DirName
Workbooks(name1).Activate
For i = 1 To 3 '根据表数
Sheets(i).Range("a65536").End(xlUp).Offset(1, 0).Offset(0, 1) = DirName
Workbooks(DirName).Sheets(i).Range("A4:J2000").Copy _
Sheets(i).Range("a65536").End(xlUp).Offset(2, 0)
Next
Workbooks(DirName).Close False
End If
DirName = Dir
Loop
Application.ScreenUpdating = True
End Sub
自己参照的修改着用吧。
本回答被网友采纳