0

合計行数に応じて可変数のページに 1 ページあたり 50 行の情報がリストされたワークブックを毎日受け取ります。

各ページから 50 行を 1 つのマスター リストにコピーするにはどうすればよいですか?

取得したマクロの記録から

Sub Macro2()  
    Sheets("Page1_2").Select
    Rows("5:54").Select
    Selection.Copy
    Sheets("Page1_1").Select
    Range("A56").Select
    ActiveSheet.Paste
End Sub

しかし、ワークブック全体をループする必要があります。反復ごとにシートの選択を 1 ずつ増やし、貼り付け範囲を 50 ずつ増やす方法が見つかりません。

何か助けはありますか?

4

1 に答える 1

1

どうですか:

Sub test()

    Dim curRow As Integer
    Dim activeWorksheet As Worksheet
    Set activeWorksheet = ActiveSheet
    curRow = 1
    For Each ws In ActiveWorkbook.Worksheets
        If Not ws.Name = activeWorksheet.Name Then
            ws.Range("5:54").Copy Destination:=activeWorksheet.Range(CStr(curRow) & ":" & CStr(curRow + 49))

            curRow = curRow + 50
        End If
    Next ws

End Sub

ブック内のすべてのワークシートをループし、内容を現在のアクティブなシートにコピーします。ループにより、現在アクティブなワークシートが除外されます。集約しようとしているコンテンツは常に5行目から54行目であると想定しています。

于 2012-06-04T20:22:50.227 に答える