功能:當前文件夾中所有Excel文件中 多個工作簿的第一個工作表 復制到工作簿中
Sub Books2Sheets() '定義對話框變量 Dim fd As FileDialog Set fd = Application.FileDialog(msoFileDialogFilePicker) '新建一個工作簿 Dim newwb As Workbook Set newwb = Workbooks.Add With fd If .Show = -1 Then '定義單個文件變量 Dim vrtSelectedItem As Variant '定義循環變量 Dim i As Integer i = 1 '開始文件檢索 For Each vrtSelectedItem In .SelectedItems '打開被合並工作簿 Dim tempwb As Workbook Set tempwb = Workbooks.Open(vrtSelectedItem) '復制工作表 tempwb.Worksheets(1).Copy Before:=newwb.Worksheets(i) '把新工作簿的工作表名字改成被復制工作簿文件名,這兒應用於xls文件,即Excel97-2003的文件,如果是Excel2007,需要改成xlsx newwb.Worksheets(i).Name = VBA.Replace(tempwb.Name, ".xls", "") '關閉被合並工作簿 tempwb.Close SaveChanges:=False i = i + 1 Next vrtSelectedItem End If End With Set fd = Nothing End Sub