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

时间:2011-07-25 22:13:54

标签: excel copy cells

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

香蕉
蓝莓

我需要结果

表Sheet 3
苹果
葡萄
桃子
樱桃
橙子

香蕉
蓝莓

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

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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