如何将大量未保存的excel文档合并为一个文档?

如何将大量未保存的excel文档合并为一个文档?,excel,merge,copy-paste,mergesort,vba,Excel,Merge,Copy Paste,Mergesort,Vba,是否有任何方法可以合并/组合来自多个未保存excel文档的数据,以便将其整齐地放在一个文档中?基本上,我打开了很多excel选项卡(都未保存),并希望将所有excel的列A1-A20和B1-B20,放在一个向下的主文档中。因此,将有一个包含所有信息的“主”文档,而不是一堆包含信息的不同选项卡。因此,主文档可以是Book1或任何其他命名的excel 有人知道怎么做吗 我发现很多方法都涉及到保存的文件,手动保存它们需要几个小时。我知道您可以在打开/创建文件时向模板添加宏,但是我不知道如何自动保存打开

是否有任何方法可以合并/组合来自多个未保存excel文档的数据,以便将其整齐地放在一个文档中?基本上,我打开了很多excel选项卡(都未保存),并希望将所有excel的列
A1-A20
B1-B20
,放在一个向下的主文档中。因此,将有一个包含所有信息的“主”文档,而不是一堆包含信息的不同选项卡。因此,主文档可以是Book1或任何其他命名的excel

有人知道怎么做吗

我发现很多方法都涉及到保存的文件,手动保存它们需要几个小时。我知道您可以在打开/创建文件时向模板添加宏,但是我不知道如何自动保存打开的每个文档并为其指定不同的名称

如果描述不充分- [


[

将此代码放在工作簿的标准模块上,您可以在其中复制所有打开的工作簿中的数据。 运行代码,代码将把所有打开的工作簿中的范围(“A1:B20”)复制到宏工作簿的sheet1中。 如果需要,根据您的要求进行调整

Sub CopyDataFromEachOpenedWorkbook()
Dim swb As Workbook, wb As Workbook
Dim sws As Worksheet, ws As Worksheet
Set swb = ThisWorkbook
Set sws = swb.Sheets(1)
For Each wb In Application.Workbooks
    If Not wb Is swb Then
        For Each ws In wb.Worksheets
            ws.Range("A1:B20").Copy sws.Range("A" & Rows.Count).End(3)(2)
        Next ws
    End If
Next wb
End Sub

(a) 如果描述不充分,请改进问题-不要将人们引导到另一个可能更改了您指向的链接信息的站点(b)您应该能够将i=2的
循环到工作簿。计数
并将信息复制到
工作簿(1)
。不幸的是,对我来说,它有选择性地工作:/。但是,根据需要使用它是很好的