分享

多工作表合并【Excel分享】

 L罗乐 2019-02-22

多工作表合并

一、合并之前的数据

A、一月

B、二月

C、三月

二、动画效果

三、所有代码

Option Explicit
Sub 多工作表合并()
    Dim x, 最后, 最最后
    Sheets('总表').Cells.Clear '清空原有数据
    For x = 2 To Sheets.Count
    '从第2个工作表开始循环,一直到最后一个工作表
        If x = 2 Then
        '判断,如果x=2,也就是第2个位置工作表,复制表头
            Sheets(x).Range('A1').CurrentRegion.Copy Sheets('总表').[B1]
            '把第2个工作表中的内容复制到总表的B1
            最后 = Sheets('总表').Cells(Rows.Count, 2).End(xlUp).Row
            '获取复制数据之后总表B列最后一个非空单元格的行号
            Sheets('总表').Range('A2:A' & 最后) = Sheets(x).Name
            '把第2个工作表名填充到单元格区域A2:A' & 最后
        Else
        '不复制表头
        最最后 = Sheets('总表').Cells(Rows.Count, 2).End(xlUp).Row 1
        '获取总表B列最后一个非空单元格的行号还要加1
        Sheets(x).Range('A1').CurrentRegion.Offset(1, 0).Copy Sheets('总表').Cells(最最后, 2)
        '把第x个工作表中的内容复制到总表的单元格Cells(最最后, 2)
        '最后 = Sheets('总表').Cells(Rows.Count, 2).End(xlUp).Row
        '获取复制数据之后总表B列最后一个非空单元格的行号
        最后 = Sheets('总表').Cells(Rows.Count, 2).End(xlUp).Row
            '获取复制数据之后总表B列最后一个非空单元格的行号
         Sheets('总表').Range('A' & 最最后 & ':A' & 最后) = Sheets(x).Name
         '把第x个工作表名填充到总表工作表单元格区域A' & 最最后 & ':A' & 最后
        End If
    Next x
    Sheets('总表').[A1] = '工作表名' '总表的A1单元格显示“工作表名”
End Sub

Sub 清空()
    Sheets('总表').Cells.Clear '清空原有数据
End Sub

四、代码截图

五、具体操作方法

  • 在工作表中像我这样输入原始数据,如果你的数据不一样,代码要作修改。

  • 复制上面的代码

  • 快捷键Alt F11打开vbe后台→插入→模块→把代码粘贴进去

  • 按快捷键F5,注意光标要点到任意一行代码中间,再按F5

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多