1、复制代码到excel中vab模块,点击运行
Sub 提取多工作簿指定工作表() '根据位置查找
Dim sht As Worksheet
Dim thiswb, wb As Workbook
Dim i As Integer
'为了防止用户点击取消导致报错
On Error Resume Next
Set thiswb =ThisWorkbook
arr = Application.GetOpenFilename("Excel 工作簿,*.xls*", , "请选择需要合并的文件", , True)
Dim t
t = Timer
'关闭屏幕刷新,合并工作表完成后再打开
Application.ScreenUpdating = False
For i = LBound(arr) To UBound(arr)
Set wb = Workbooks.Open(arr(i))
wb.Worksheets(4).Copy after:=thiswb.Sheets(thiswb.Sheets.Count) '数字4可替换,指的是要提取的工作表在所在工作簿的位置
thiswb.Sheets(Sheets.Count).Name = Split(wb.Name, ".")(0) & sht.Name
wb.Close
Next
Application.ScreenUpdating = True
MsgBox Timer - t
End Sub
2、选择文件夹内要操作的工作簿
选择存放汇总文件的文件夹,点击确定
2、指定要提取的sheet工作表在各个工作簿内(从左往右数是第几个,输入数字几)
代码wb.Worksheets(4).Copy after:=thiswb.Sheets(thiswb.Sheets.Count) '数字4可替换,指的是要提取的工作表在所在工作簿的位置