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

时间:2017-04-15 08:40:26

标签: excel excel-vba merge copy-paste mergesort vba

有没有办法合并/组合来自多个未保存的Excel文档的数据,以便它整齐地放在一个文档中?基本上我打开了很多excel选项卡(所有未保存的)并希望获取所有excel的列A1-A20B1-B20并放入一个向下的主文档中。因此,不会有大量不同的标签与信息,将有一个“主”文档与所有信息。因此,主文档可以是第1册或任何其他命名的Excel。

任何人都知道如何解决这个问题?

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

如果说明不充分 - [https://www.dropbox.com/s/0opi8pyy095hsrb/Book1%20as%20per%20image.xlsx?dl=0][1]

[https://www.dropbox.com/s/q4d3g526zgbwrl4/Book%201%20image.png?dl=0][2]

1 个答案:

答案 0 :(得分:0)

将此代码放在要从所有已打开的工作簿中复制数据的工作簿的标准模块上。 运行代码,代码将范围(" 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