【エクセルマクロ】複数シートの空白行以外をまとめる:コピペで使えるコード

vba-複数シートの空白行以外を抽出-アイキャッチ ExcelVBA

エクセルマクロで、複数シートの空白行以外をまとめる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

 

マクロ実行前

全シートは同じフォーマットです。

転記先となる「まとめ」シートは、タイトル行のみ入力してあります。


 

マクロ実行後

「まとめ」シートに、各シートの空白ではない行を一括転記します。


 
 
この記事がお役に立ちますと幸いです。
 

【エクセルマクロ】別シート転記(抽出)を自動化する:超便利19選
...

 

「スラスラ読める Excel VBA ふりがなプログラミング」
究極のやさしさを目指した、まったく新しいVBAの入門書
マクロの1行1行が何を意味していて、どう動くのかが理解できる!