用VBA代码也是可以的.
新建一个excel,在sheet1,2,3其中一个sheet中建一个按钮,把下面的代码复制到按钮里面去,
在建按钮的这个sheet里面A列输入文件路径和名称,B列输入文件名称
Private Sub CommandButton2_Click()
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For i = 1 To Range("a65536").End(xlUp).Row
Workbooks.Open Range("a" & i)
If Err.Number = 4 Then
MsgBox Range("b" & i) & "表未打开,请检查路径或表名是否正确"
Err.Clear
Else
With Workbooks(Trim(Range("b" & i))).Worksheets("sheet1")
row1 = .Range("a65536").End(xlUp).Row
.Range("a1:iv" & row1).Copy ThisWorkbook.Worksheets("sheet1").Range("a" & ThisWorkbook.Worksheets("sheet1").Range("a65536").End(xlUp).Row + 1)
End With
With Workbooks(Trim(Range("b" & i))).Worksheets("sheet2")
row2 = .Range("a65536").End(xlUp).Row
.Range("a1:iv" & row2).Copy ThisWorkbook.Worksheets("sheet2").Range("a" & ThisWorkbook.Worksheets("sheet2").Range("a65536").End(xlUp).Row + 1)
End With
With Workbooks(Trim(Range("b" & i))).Worksheets("sheet3")
row3 = .Range("a65536").End(xlUp).Row
.Range("a1:iv" & row3).Copy ThisWorkbook.Worksheets("sheet3").Range("a" & ThisWorkbook.Worksheets("sheet3").Range("a65536").End(xlUp).Row + 1)
End With
End If
Workbooks(Trim(Range("b" & i))).Close False
Next i
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub