資源描述:
《將多個(gè)excel文件合并到一個(gè)excel的多個(gè)sheet中.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、VBA方法-將多個(gè)excel文件合并到一個(gè)excel的多個(gè)sheet中由上級(jí)的要求,同事需要將以前做的所有excel文件(手機(jī)話費(fèi)清單表),都合并到一個(gè)excel中,并且每個(gè)excel文件為一個(gè)sheet。她開始是用復(fù)制粘貼的方法,很麻煩。所有她就問我,有沒有什么方法可以快點(diǎn)做完。網(wǎng)上搜索,方法如下:1.將需合并的excel文件放在同一個(gè)文件中,并這個(gè)文件中新建一個(gè)excel文件2.打開新建的excel文件,按alt+f11建,打開宏,新建一個(gè)模組,將下面的代碼拷貝進(jìn)去,并保存。SubBooks2She
2、ets()????'定義對(duì)話框變量????DimfdAsFileDialog????Setfd=Application.FileDialog(msoFileDialogFilePicker)????????'新建一個(gè)工作簿????DimnewwbAsWorkbook????Setnewwb=Workbooks.Add????????Withfd????????If.Show=-1Then????????????'定義單個(gè)文件變量????????????DimvrtSelectedItemAsVarian
3、t????????????????????????'定義循環(huán)變量????????????DimiAsInteger????????????i=1????????????????????????'開始文件檢索????????????ForEachvrtSelectedItemIn.SelectedItems????????????????'打開被合并工作簿????????????????DimtempwbAsWorkbook????????????????Settempwb=Workbooks.Open(
4、vrtSelectedItem)????????????????????????????????'復(fù)制工作表????????????????tempwb.Worksheets(1).CopyBefore:=newwb.Worksheets(i)????????????????????????????????'把新工作簿的工作表名字改成被復(fù)制工作簿文件名,這兒應(yīng)用于xls文件,即Excel97-2003的文件,如果是Excel2007,需要改成xlsx????????????????newwb.Works
5、heets(i).Name=VBA.Replace(tempwb.Name,".xls","")????????????????????????????????'關(guān)閉被合并工作簿????????????????tempwb.CloseSaveChanges:=False????????????????????????????????i=i+1????????????NextvrtSelectedItem????????EndIf????EndWith????????Setfd=NothingEndSub
6、3.運(yùn)行程序,彈出對(duì)話框,批量選擇要合并的excel名,確定即可。注意:完成后,所需表格為book1,而不是那個(gè)新建excel。