将范围从多个工作表复制到单个工作表

时间:2013-03-26 12:30:17

标签: excel-vba vba excel

有些人可以帮助使用vba代码将多个工作表(52周)中的范围复制到同一工作簿中的摘要表中。每个工作表中的范围相同。我希望将数据复制并粘贴到ssummary工作表的52列中,从第1周到第52周。

我在网上找到了这个代码:

Sub SummurizeSheets()
    Dim ws As Worksheet
    Application.ScreenUpdating = False
    Sheets("Summary").Activate
    For Each ws In Worksheets
        If ws.Name <> "Summary" Then
            ws.Range("F46:O47").Copy
            Worksheets("Summary").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial (xlPasteValues)
        End If
    Next ws
End Sub

1 个答案:

答案 0 :(得分:2)

尝试下面的代码。还要设置 Application.ScreenUpdating = True

Sub SummurizeSheets()
    Dim ws As Worksheet
    Dim j As Integer, col As Integer

    Application.ScreenUpdating = False

    Sheets("Summary").Activate


    For Each ws In Worksheets
        If ws.Name <> "Summary" Then
            ws.Range("k3:k373").Copy

            col = Worksheets("Summary").Range("IV1").End(xlToLeft).Column + 1
            Worksheets("Summary").Cells(1, col).PasteSpecial xlPasteValues
            Application.CutCopyMode = False

        End If

    Next ws
    Columns(1).Delete
    Range("A1").Activate
    Application.ScreenUpdating = True
End Sub