Sub test() Dim mypath, myfile Dim i mypath = ThisWorkbook.Path & "\" myfile = Dir(mypath & "*.xls") Application.ScreenUpdating = False Application.DisplayAlerts = False Do While myfile <> "" i = Workbooks("汇总.xls").Sheets(1).Range("a" & Cells.Rows.Count).End(3).Row If myfile <> ThisWorkbook.Name Then Workbooks.Open mypath & myfile ActiveWorkbook.Sheets(1).Range("a13:r42").Copy Workbooks("汇总.xls").Sheets(1).Range("a" & i + 1) End If myfile = Dir Loop Workbooks("汇总.xls").Save Workbooks("汇总.xls").colse Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub 你试一下