Excel:vba实现合并工作表(表头相同)

这个代码应该也适用于一些表头相同的工作表的汇总,只需要修改想要遍历的表,适用于处理大量表头相同的表的合并

这里的汇总合并表 total 是我事先创建的,我觉得比用vba代码创建要容易一下,如果不事先创建汇总表就用下面的代码,在表的部分会报错(在我的主页Excel:vba实现拆分单元格成一字一单元格里面说过这一点,并写有代码)

复制代码
Sub total()
    Dim totalws As Worksheet
    Dim ws As Worksheet
    Dim colindex As Integer
    Dim lastrow As Long
    Dim lastcol As Long
    Dim wsname As Variant
    Dim currentRow As Long

    ' 设定目标工作表
    Set totalws = ThisWorkbook.Worksheets("total")
    
    '清空表,防止还没合并的时候表里面有数据以及运行一次覆盖就原有数据
    totalws.Cells.Clear
    
    ' 初始化totalws行索引,意思是从totalws的第一行开始粘贴
    currentRow = 1
    
    ' 遍历需要合并的工作表
    For Each wsname In Array("六1", "六2", "六3", "六4")
        '通过工作表的名称获取工作表
        Set ws = Worksheets(wsname)
        
        ' 查找每张表的最后一行和最后一列
        lastrow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
        lastcol = ws.Cells(1, Columns.Count).End(xlToLeft).Column
        
        ' 只在第一次循环时复制表头
        If currentRow = 1 Then
            '将表头复制到汇总表的第一行
            ws.Cells(1, 1).Resize(1, lastcol).Copy Destination:=totalws.Cells(currentRow, 1)
            '行数加一,以便后续数据的粘贴到totalws
            currentRow = currentRow + 1
        End If
        
        ' 复制数据,跳过表头
        ws.Cells(2, 1).Resize(lastrow - 1, lastcol).Copy Destination:=totalws.Cells(currentRow, 1)
        '复制完数据之后,totalws表最后一行的行数加一,以便后续数据的粘贴复制
        currentRow = totalws.Cells(totalws.Rows.Count, 1).End(xlUp).Row + 1
    Next wsname

    MsgBox "数据合并完成!"
End Sub
相关推荐
hello_simon1 小时前
在线小白工具,PPT转PDF支持多种热门工具,支持批量转换,操作简单,高效适合各种需求
pdf·html·powerpoint·excel·pdf转html·excel转pdf格式
Tttian6224 小时前
Python办公自动化(3)对Excel的操作
开发语言·python·excel
有趣的我9 小时前
vim的操作
编辑器·vim·excel
woniu_maggie10 小时前
SAP EXCEL DOI 详解
开发语言·后端·excel
Dickson11 小时前
如何批量拆分Excel工作表或按行拆分Excel表格 - Excel拆分器使用方法
excel·excel拆分器·拆分excel·拆分excel工作表·按行拆分excel
inxunoffice14 小时前
批量将文本文件转换为 Word/PDF/Excel/图片等其它格式
pdf·word·excel
赵孝正18 小时前
自动用 Excel 转 .CSV 为 .xlsx 的原理
excel
互联网上的猪18 小时前
Excel时间类型函数(包括today、date、eomonth、year、month、day、weekday、weeknum、datedif)
笔记·学习·excel
专注VB编程开发20年21 小时前
无需安装Office进行 Word、Excel操作的微软开发库
microsoft·word·excel
hello_simon1 天前
在线Excel 转换为 txt ,超方便超易用软件,在线转换,大力提升工作效率
excel