分享

利用VBA代码快速合并多个工作表到一个工作表

 二木士心空间 2021-10-31

提示:在同一个工作簿中有多个工作表,想汇总成一人工作表该如何操作,一种方法是用Power Query来实现,另外一种是我今天要讲的,用VBA代码来实现,我个人理解也就是会不会套用代码的问题。

第一步 打开需要合并的工作簿文件,新建一个同结构的工作表。并且命名,这个名字要与代码中的名字相符,所以不要搞特殊,简单明了便可。

第二步 打开“合并“工作簿后,打开【开发工具】-选择【visual basic】-插入新模块

第三步 将代码复制进新建的模块中,灵活修改标粗的地方,要确定工作表名和引用的范围,会套用就可以。关于VBA代码知识自已另外学习吧!

Sub hebing()

    '把各分表中的记录合并到"就业情况汇总"工作表中  '这个名称要看自已的汇总表是什么名称。

    Dim sht As Worksheet

    Set sht = Worksheets("就业情况汇总") '将工作表名变更成自已的,与下面的一样

    sht.Rows("2:65536").Clear      '删除成绩表中的原有记录

    Dim wt As Worksheet, xrow As Integer, rng As Range

    For Each wt In Worksheets                   '循环处理工作簿中的每张工作表

        If wt.Name <> "就业情况汇总" Then '将工作表名变更成自已的,与上面的一样

            Set rng = sht.Range("A1048576").End(xlUp).Offset(1, 0)

            xrow = wt.Range("A1").CurrentRegion.Rows.Count - 1

            wt.Range("a2").Resize(xrow, 18).Copy rng  

 '此行代码是用来确定获取目标值区域的范围,

 'a2"代表数值表中的A2单元格,从这里开’’'’始扩展,

 '"18"代表从A列至R列有多少列,共18列。通过设定可灵活获取数据,并不是将整个表的数据都引过来。

        End If

    Next

End Sub

双击进入模块中,将上面的代码放进去运行调试。

第三步,瞬间数据都放在同一张表了。此法是最快的。值得推推荐大家使用。

在汇总表中插入一个按钮,并且关连好宏就更好了!

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多