首页 文章

Excel复制多个工作表中的数据

提问于
浏览
0

有没有办法将单元格范围从多个工作表复制到另一个工作表?例如:
Sheet1
苹果
葡萄
桃子
樱桃
Sheet2
橙子

香蕉
蓝莓

我需要结果为

Sheet3
苹果
葡萄
桃子
樱桃
橙子

香蕉
蓝莓

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

有任何想法吗?提前致谢 .

2 回答

  • 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
    
  • 0

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

相关问题