【エクセルマクロ】複数シートの空白以外をまとめる:自動化

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

 

マクロ実行前

ファイル内にあるシートは、すべて同じフォーマットです。

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


 

マクロ実行後

「まとめ」シートに、各シートの空白以外のデータを一括転記します。


 
 
この記事がお役に立ちますと幸いです。
 
・【エクセルマクロ】別シート転記を自動処理する方法まとめ
 

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

 

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