0

有没有办法将多个工作表中的单元格范围复制到另一个工作表中?例如:
Sheet1
Apple
Grapes
Peach
Cherry
Sheet2
Orange
Pear
Banana
Blueberry

我需要结果

Sheet3
苹果
葡萄

樱桃


香蕉
蓝莓

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

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

4

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
于 2011-07-26T03:48:42.430 回答
0

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

于 2011-07-25T22:18:53.827 回答