美文网首页精进Excel
多工作簿多工作表汇总的模板

多工作簿多工作表汇总的模板

作者: 懒人数据分析 | 来源:发表于2019-05-06 17:23 被阅读0次

​上次我们讲到对单个工作簿内具有相同格式的所有工作表进行汇总,和多个工作簿中,每个工作簿只有一个工作表时,汇总所有工作簿的方法,这一次我们讲一讲有多个工作簿,每个工作簿有多个工作表时的汇总方法。

例如一个文件夹内有10个工作簿(workbook),每个工作簿里的12个工作表,每一个工作表(worksheet)代表某年某个月的信息,所有月份的信息具有相同的格式。现在要对所有工作簿里所有的工作表进行汇总。如果一个一个工作簿打开后进行手工复制会显得很麻烦。当这样的工作簿过多时,更不可能用手工复制,此时怎么做才能更快完成工作呢?

例子

为了便于讲解,我们以汇总12个班的成绩为例,有4个工作簿,每个工作簿有3个工作表,分别存放3个班的成绩。具体格式如下图所示:

图1


代码如下:

Sub 多工作多工作表簿汇总()

Dim item As Integer '循环工作簿

Dim i As Integer    '循环工作表

Dim fn As String  ' 文件名

Dim wb As Workbook  ’打开的工作簿

Worksheets.Add after:=Worksheets(Worksheets.Count)

Worksheets(Worksheets.Count).Name = "汇总表"        '新建汇总表,并命名

If Application.FileDialog(3).Show = -1 Then

  fn = Application.FileDialog(3).SelectedItems(1)

  Workbooks.Open fn

  Set wb = ActiveWorkbook

  wb.Worksheets(1).UsedRange.Copy ThisWorkbook.Worksheets("汇总表").Cells(1)

    For i = 2 To Worksheets.Count

    wb.Worksheets(i).UsedRange.Offset(1, 0).Copy ThisWorkbook.Worksheets("汇总  表").Cells(ThisWorkbook.Worksheets("汇总表").Rows.Count, 1).End(xlUp).Offset(1, 0)

    Next i

Workbooks(wb.Name).Close

    For item = 2 To Application.FileDialog(3).SelectedItems.Count

                  fn = Application.FileDialog(3).SelectedItems(item)

                  Workbooks.Open fn

                  Set wb = ActiveWorkbook

    For i = 1 To Worksheets.Count

    wb.Worksheets(i).UsedRange.Offset(1, 0).Copy ThisWorkbook.Worksheets("汇总表").Cells(ThisWorkbook.Worksheets("汇总表").Rows.Count, 1).End(xlUp).Offset(1, 0)

Next i

    Workbooks(wb.Name).Close

Next item

End If

End Sub

打开一个新工作簿,运行上述代码后,程序会打开文件选择对话框,我们打开图1所示的文件夹,并选择要汇总的工作簿(共4个)后,点击确定会得到下图的汇总结果。

汇总表中包括了我们所要汇总的所有12个班的成绩

这些代码是怎么实现这一功能的呢?

在学习了文章一开始提到的两篇文章中的代码后,理解本文中的代码就没什么问题了,剩下的只是思路问题。有疑惑可以看前面两篇文章,这里只讲实现思路。

首先,我们还是像多工作簿汇总一样,打开一个文件选择对话框,选择我们要汇总的工作簿。

然后,我们打开第一个工作簿,对其中的工作表进行汇总。先对其中第一个工作表进行复制粘贴(因为包括了标题栏,所以需要单独复制),然后循环第一个工作簿中的其它工作表(不包括标题栏)。

最后再循环其它工作簿中的所有工作表的数据区域(不包括标第一行),因为它们的操作都一样,所以使用两层循环(循环工作簿和循环工作表)来直接完成。恩,完了,就是这么简单。

总结

今天讲的是多个工作簿内多工作表的汇总模板,如果有任何疑问可以评论交流。

(本文为原创,未经允许,不得转载)

相关文章

网友评论

    本文标题:多工作簿多工作表汇总的模板

    本文链接:https://www.haomeiwen.com/subject/joldoqtx.html