【问题标题】:Excel copy data from multiple worksheetsExcel 从多个工作表复制数据
【发布时间】:2011-10-12 23:22:34
【问题描述】:

有没有办法将多个工作表中的单元格区域复制到另一个工作表中?例如:
表 1
苹果
葡萄

樱桃
表 2
橘子

香蕉
蓝莓

我需要结果

表 3
苹果
葡萄

樱桃
橘子

香蕉
蓝莓

假设我在工作表 1 和 2 的 A 列中有数据,我需要在工作表 3 的 A 列中显示组合结果。基本上我需要在一列中显示Sheet3中Sheet 1和2中的所有项目。

有什么想法吗? 提前致谢。

【问题讨论】:

    标签: excel copy cells


    【解决方案1】:

    由于您的数据位于相同的列中,我假设您真正需要做的就是将每张工作表复制粘贴到一个主工作表中。这个 VBA 函数是我不久前在网上找到的(对原始创建者感到抱歉,我希望我知道它是谁,这样我才能相信他)。它将所有工作表合并到一个名为“Master”的工作表中。节省大量时间!我希望这对您有所帮助或让您更接近您需要的地方。

    Sub CreateMasterSheet()
    
    Application.ScreenUpdating = False
    Dim wrk As Workbook
    Dim sheet As Worksheet
    Dim masterSheet As Worksheet
    Dim rng As range
    
    Set wrk = ActiveWorkbook
    
    For Each sheet In wrk.Worksheets
        If sheet.Name = "Master" Then
            MsgBox "There is a worksheet called as 'Master'." & vbCrLf & _
                    "Remove or rename this worksheet.", vbOKOnly + vbExclamation, "Error"
            Exit Sub
        End If
    Next sheet
    
    Set masterSheet = wrk.Worksheets.Add(After:=wrk.Worksheets(wrk.Worksheets.count))
    masterSheet.Name = "Master"
    
    For Each sheet In wrk.Worksheets
        If sheet.Index = wrk.Worksheets.count Then
            Exit For
        End If
        Set rng = sheet.range(sheet.cells(1, 1), sheet.cells(65536, 1).End(xlUp).Resize(, 256))
            masterSheet.cells(65536, 1).End(xlUp).Offset(1).Resize(rng.Rows.count, rng.Columns.count).Value = rng.Value
    Next sheet
    
    masterSheet.Columns.AutoFit
    Application.ScreenUpdating = True
    End Sub
    

    【讨论】:

    • 感谢帮助。我修改它以适应会计部门需要的模板。再次感谢。
    【解决方案2】:

    您没有提及您的 Excel 版本。在 2003 年和 2010 年,您可以使用 Data, Consolidate 执行此操作。有关该过程,请参阅您的版本的帮助。

    【讨论】:

      猜你喜欢
      • 2018-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多