1

有人可以帮助使用 vba 代码将多个工作表(52 周)中的范围复制到同一工作簿中的摘要表中。每个工作表中的范围都相同。我希望将数据复制并粘贴到摘要工作表的 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
4

1 回答 1

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
于 2013-03-26T12:43:32.260 回答