将Excel工作簿组合到一个工作表中

问题描述:

我有50个工作簿,每个工作表有7个工作表。现在我需要将它们结合起来,以使新工作簿应该有7个工作表,并且每个工作表都应该包含来自所有50个工作簿的相应数据。将Excel工作簿组合到一个工作表中

例如:新工作簿的Worksheet1必须包含来自50个工作簿的所有sheet1的数据。同样,Worksheet2应该包含所有50个工作簿的sheet2中的所有数据,等等...直到sheet7。

+1

有很多很好的例子,你需要在这个网站上的作品。循环使用工作簿;在工作表中循环,找到最后一行;复制并粘贴到特定的行。也有很多非常相似的请求,并有很好的答案。看看他们中的一些,根据您的需求进行修改,并在遇到困难时询问具体问题快乐编码! –

+0

我看着他们中的大多数......但几乎所有人都讲述了如何将多张工作簿与单张纸合并为一张工作簿与多张纸。我的情况有点不同。 – user2584171

+1

指定应该如何将来自多个工作表的数据合并到结果表中(逐行排列,没有任何间隙?),以及将源工作簿放在何处(放置在某个文件夹中的所有工作簿?)。正如@DougGlancy所评论的那样,添加您尝试过的代码。 – omegastripes

子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个不同的工作表合并在一起。