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
相关推荐
沉到海底去吧Go40 分钟前
【工具教程】PDF电子发票提取明细导出Excel表格,OFD电子发票行程单提取保存表格,具体操作流程
pdf·excel
开开心心就好3 小时前
高效Excel合并拆分软件
开发语言·javascript·c#·ocr·排序算法·excel·最小二乘法
沉到海底去吧Go1 天前
【行驶证识别成表格】批量OCR行驶证识别与Excel自动化处理系统,行驶证扫描件和照片图片识别后保存为Excel表格,基于QT和华为ocr识别的实现教程
自动化·ocr·excel·行驶证识别·行驶证识别表格·批量行驶证读取表格
Abigail_chow2 天前
EXCEL如何快速批量给两字姓名中间加空格
windows·microsoft·excel·学习方法·政务
xiaohezi2 天前
Rag chunk 之:Excel 文档解析
excel
weixin_472339462 天前
python批量解析提取word内容到excel
python·word·excel
3 天前
Unity与Excel表格交互热更方案
unity·游戏引擎·excel
金融小白数据分析之路3 天前
Excel高级函数使用FILTER、UNIQUE、INDEX
excel
未来之窗软件服务3 天前
Excel表格批量下载 CyberWin Excel Doenlaoder 智能编程-——玄武芯辰
excel·批量下载·仙盟创梦ide·东方仙盟
阿斯加德的IT3 天前
Power Automate: 从Excel 选择列,每200条生成一个CSV文件并保存在sharepoint文档库
低代码·excel