1

複数のワークシート (52 週間) の範囲を同じワークブックのサマリー シートにコピーする vba コードを手伝ってくれる人がいますか? 範囲は各ワークシートで同じです。データをコピーして、ssummary ワークシートの週 1 から週 52 までの 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 に答える