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

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選
エクセルマクロで、別シート転記(抽出)を自動化するVBAコードをご紹介します。どのマクロコードも、コピペで使用できます。ぜひお試しください!

 

ド素人でも100倍速! ChatGPT×Excel 時短技大全

「やりたいこと」を書くだけでExcel作業もマクロも自動化できる一冊

Excel業務をChatGPTに丸投げしてラクにしたいなら、まず読んでおきたい一冊です!


★★★★☆ 4.0 ※ Amazonカスタマーレビューより
ExcelVBAを使ったAIへの質問・依頼のコツがよくわかる
マクロをAIに自動生成させる発想が新しく、実務でそのまま使える事例が多い
住所分割・重複チェックなど、すぐ使える実用マクロ事例が豊富