ブックの中にある複数のシートの情報を
一つのシートにまとめるマクロ
コード
Sub シートデータ統合() Dim WSCount As Long Dim WS As Worksheet Dim DataNumber As Long Dim RowCount As Long Dim i As Long 'シートの数を数える WSCount = Sheets.Count '新しいシートを追加して変数に設定 Set WS = Worksheets.Add(After:=Worksheets(WSCount)) '最初に数えたシートの数だけ繰り返し For i = 1 To WSCount '統合先で入力したい行を取得 RowCount = WS.Cells(Rows.Count, 1).End(xlUp).Row + 1 'データ数を取得 DataNumber = Sheets(i).Cells(Rows.Count, 1).End(xlUp).Row - 1 '統合先へコピー '7列目までの場合 Sheets(i).Range("A2").Resize(DataNumber, 7).Copy Destination:=WS.Cells(RowCount, 1) Next 'タイトル行を貼り付け Sheets(1).Rows(1).Copy Destination:=WS.Range("A1") '統合シートの名前を変更 WS.name = "統合" MsgBox "統合完了" End Sub
注意点
- 1行目にタイトルがある場合のコード
- 上記は7列目までコピーしてくるコード。列数は要編集。
- すでに「統合」という名前のシートがあるとエラーになる。