2015-06-21 125 views
0

我有50個工作簿,每個工作表有7個工作表。現在我需要將它們結合起來,以使新工作簿應該有7個工作表,並且每個工作表都應該包含來自所有50個工作簿的相應數據。將Excel工作簿組合到一個工作表中

例如:新工作簿的Worksheet1必須包含來自50個工作簿的所有sheet1的數據。同樣,Worksheet2應該包含所有50個工作簿的sheet2中的所有數據,等等...直到sheet7。

+1

有很多很好的例子,你需要在這個網站上的作品。循環使用工作簿;在工作表中循環,找到最後一行;複製並粘貼到特定的行。也有很多非常相似的請求,並有很好的答案。看看他們中的一些,根據您的需求進行修改,並在遇到困難時詢問具體問題快樂編碼! –

+0

我看着他們中的大多數......但幾乎所有人都講述瞭如何將多張工作簿與單張紙合併爲一張工作簿與多張紙。我的情況有點不同。 – user2584171

+1

指定應該如何將來自多個工作表的數據合併到結果表中(逐行排列,沒有任何間隙?),以及將源工作簿放在何處(放置在某個文件夾中的所有工作簿?)。正如@DougGlancy所評論的那樣,添加您嘗試過的代碼。 – omegastripes

回答

0

子simpleXlsMerger()

昏暗書目作爲工作簿

昏暗mergeObj作爲對象,dirObj作爲對象,filesObj作爲對象,everyObj作爲對象

Application.ScreenUpdating =假

集mergeObj = CreateObject(「Scripting.FileSystemObject」)

'此處更改excel文件的文件夾路徑

集dirObj = mergeObj.Getfolder( 「C:\用戶\ 607182604 \桌面\亨氏Jun'15 MI模板\合併」)

集filesObj = dirObj.Files

對於每個everyObj在filesObj

集書目= Workbooks.Open(everyObj)

範圍( 「A2:IV」 &範圍( 「A65536」)結束(xlUp).Row).Copy

個ThisWorkbook.Worksheets(1).Activate

範圍( 「A65536」)。完(xlUp).Offset(1,0).PasteSpecial

Application.CutCopyMode =假

bookList.Close

下一頁

末次

@dougGlancy和@omegastripes我想將數據發送到行合併行,沒有任何差距和是的所有工作簿都在相同的文件夾中。 我面臨的問題是它只合並每個工作簿的第一張工作表。我想要的是,它應該將所有50個Excel文件的數據與7個工作表合併到一個合併工作簿中,但將7個不同的工作表合併在一起。

相關問題