エクセルマクロで、複数シートの空白以外をまとめるVBAコードをご紹介します。
このページのマクロコードは、コピペで使えます。
ぜひお試しください!
複数シートの空白以外をまとめる
以下のExcelVBAを実行すると、複数シートの空白を除いたデータを抽出します。
Sub 複数のシートから空白以外のデータ取得()
Dim Matome As Worksheet
Dim Ws As Worksheet
Dim i As Long
Dim LastRow As Long
Dim Target_Row As Long
Set Matome = Sheets("まとめ")
'全シートをループ
For Each Ws In Worksheets
If Ws.Name <> Matome.Name Then
'各シートの最終行を取得
LastRow = Ws.Cells(Rows.Count, 3).End(xlUp).Row
'「まとめ」シートの最終行を取得
Target_Row = Matome.Cells(Rows.Count, 1).End(xlUp).Row
'各シートのデータを「まとめ」シートへ転記
Ws.Select
Ws.Range(Cells(2, 1), Cells(LastRow, 3)).Copy _
Matome.Cells(Target_Row + 1, 1)
End If
Next
Application.ScreenUpdating = False
'「まとめ」シート 最終行~2行目まで逆ループ
For i = Matome.Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
'A列が空欄だったら
If Matome.Cells(i, 1) = "" Then
'行削除
Matome.Rows(i).Delete
End If
Next i
Application.ScreenUpdating = True
Matome.Select
End Sub
マクロ実行前
ファイル内にあるシートは、すべて同じフォーマットです。
転記先となる「まとめ」シートは、タイトル行のみ入力してあります。
マクロ実行後
「まとめ」シートに、各シートの空白以外のデータを一括転記します。
この記事がお役に立ちますと幸いです。
・【エクセルマクロ】別シート転記を自動処理する方法まとめ
【エクセルマクロ】別シート転記(抽出)を自動化する:超便利20選
...
「スラスラ読める Excel VBA ふりがなプログラミング」
究極のやさしさを目指した、まったく新しいVBAの入門書
マクロの1行1行が何を意味していて、どう動くのかが理解できる!
リンク