分享

汇总多个Excel数据表到一个sheet

 昵称53702010 2018-03-22

汇总多个Excel数据表到一个sheet

在文件操作过程中,常常遇到如下几种情况,如果数据量小,靠copy即可操作,如果数据量大,那简单copy耗时且数据容易出错,以下案例会分别介绍。

  • 多个文件的第一个或多个sheet数据合并一个文件的一个sheet中。

汇总多个Excel数据表到一个sheet

  • 一个或多个文件的sheet数据复制到一个文件中。

汇总多个Excel数据表到一个sheet

  • 表内多个sheet汇总到一个Sheet。

汇总多个Excel数据表到一个sheet


案例展示案例: 汇总多个EXCEL数据表格到一个sheet。

汇总多个Excel数据表到一个sheet

汇总多个Excel数据表到一个sheet

1. 打开要复制其他sheet进来的Excel的文件。

2. 按ALT+F11弹出代码编辑框。

3. 复制如下代码到编辑框中。

4. 点击运行按钮。


代码
汇总多个Excel数据表到一个sheet

Sub CollectDataFromSplitExcel() '΢ÐŹ«ÖÚºÅ:ExcelÖ°³¡¾«Ó¢

Dim i As Integer

Dim FindDesk As FileDialog

Dim strPath As String

Dim temp_wb '用于打开待汇总的表

Dim Endrow '用于求待汇总表的最后一行

Application.ScreenUpdating = False '禁止刷新

Set FindDesk = Application.FileDialog(msoFileDialogFolderPicker)

If FindDesk.Show = -1 Then '选择文件夹

strPath = FindDesk.SelectedItems(1)

allfiles = Dir(strPath & '/' & '*xls*') '设置文件目录

ThisWorkbook.Worksheets(1).UsedRange.Clear '清除汇总表的数据

While allfiles <> '' '循环

Set temp_wb = Application.Workbooks.Open(strPath & '/' & allfiles) '打开文件

For i = 1 To temp_wb.Sheets.Count

Endrow = ThisWorkbook.Worksheets(1).Range('A100000').End(xlUp).Row

temp_wb.Sheets(i).UsedRange.Copy Cells(Endrow + 1, 1)

Next i

temp_wb.Close False

Set temp_wb = Nothing '清空参数

allfiles = Dir '设置文件目录

Wend 'While...wend

End If

Set FindDesk = Nothing '清空参数

Application.ScreenUpdating = True

End Sub

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多