excel vba 将多张数据表的内容合并到一张数据表

本文介绍如何使用VBA将一个Excel文件中样式相同的所有数据表内容合并到一张新的数据表中,提供了具体的VBA实现代码,用户可以下载代码文件后在Excel中导入运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

功能描述: 

一个Excel文件有很多个 样式相同 的数据表,

需要将多张数据表的内容合并到一张数据表里。

vba实现代码如下:

Attribute VB_Name = "NewMacros"
Option Explicit
Public Const Const_OutSheetName As String = "VBA汇总"
Public Const Const_PZSheetName As String = "配置"

Sub 汇总()
Attribute 汇总.VB_Description = "宏由 LiuZW 录制,时间: 2023/08/19"
Attribute 汇总.VB_ProcData.VB_Invoke_Func = " 14"
'
' 汇总 Macro
' 宏由 LiuZW 录制,时间: 2023/08/19
'

'

    Dim i, j, k As Integer
        
    
    '创建“配置”数据表并提示用户填写配置
    Dim isExistPZ As Boolean
    isExistPZ = False
    For i = 1 To Worksheets.Count
        If Worksheets(i).name = Const_PZSheetName Then
            isExistPZ = True
            Exit For
        End If
    Next
    
    '定义表示要复制的区域的变量
    Dim mRow1, mColumn1, mRow2, mColumn2 As Integer
        
    If isExistPZ Then
        mRow1 = Application.Worksheets(Const_PZSheetName).Range("B2").Value
        mRow2 = Application.Worksheets(Const_PZSheetName).Range("B3").Value
        mColu
Excel VBA中,如果你想把不同工作簿的所有工作合并到一个工作簿中的指定工作,可以使用`Worksheets.Add`和`Range.Copy`方法。下面是一个基本的示例,假设你想合并名为"Sheet1"的所有工作簿,并将它们添加到当前工作簿的最后一个工作之后: ```vba Sub MergeAllSheetsFromOtherWorkbooks() Dim wbTarget As Workbook Dim wbSource As Workbook Dim wsSource As Worksheet Dim wsTarget As Worksheet Dim lastRow As Long '设置目标工作簿和工作 Set wbTarget = ThisWorkbook '当前工作簿 Set wsTarget = wbTarget.Worksheets.Add(After:=wbTarget.Worksheets(wbTarget.Worksheets.Count)) '新建一个工作作为目标 '遍历所有打开的工作簿 For Each wbSource In Application.Workbooks If wbSource.Name <> ThisWorkbook.Name Then '排除当前工作簿 For Each wsSource In wbSource.Worksheets '遍历每个工作簿的每个工作 If wsSource.Name = "Sheet1" Then '只考虑名称为"Sheet1"的工作 '获取源工作的最后一行 lastRow = wsSource.Cells(wsSource.Rows.Count, "A").End(xlUp).Row '复制数据到目标工作 wsTarget.Range("A" & wsTarget.Cells.Count).End(xlUp).Offset(1).Resize(lastRow, wsSource.Columns.Count).Value = wsSource.Range("A1").CurrentRegion.Value End If Next wsSource End If Next wbSource MsgBox "所有工作簿的Sheet1已合并至当前工作簿的最新工作", vbInformation End Sub ``` 运行此宏后,所有符合条件的工作簿的Sheet1会被合并到新的工作中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值