【エクセルマクロ】条件一致で別シートへ転記:動画あり

VBA-条件一致で別シート転記-アイキャッチ ExcelVBA

エクセルマクロで、条件一致で別シートへ転記するVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
ぜひお試しください!

条件一致で別シートへ転記

以下のExcelVBAを実行すると、条件が一致した場合別シートにデータを振り分けします。


Sub 条件に合うデータを別シート抽出()

Dim Matome_Sht As Worksheet
Dim Ws As Worksheet
Dim i As Long
Dim j As Long

    '転記先のシートを変数格納
    Set Matome_Sht = Sheets("まとめ")

    '「まとめ」シート 1~最終行までループ
    For i = 1 To Matome_Sht.Cells(Rows.Count, 1).End(xlUp).Row
    
        '全シートをループ
        For Each Ws In Worksheets
        
            '「まとめ」シートのA列とシート名が一致したら
            If Matome_Sht.Cells(i, 1) = Ws.Name Then
            
                'シートの1~最終行までループ
                For j = 1 To Ws.Cells(Rows.Count, 1).End(xlUp).Row
                        
                    'シート名とA列が一致していたら「まとめ」シートに転記
                    If Ws.Name = Ws.Cells(j, 1) Then
                        Ws.Select
                        Ws.Range(Cells(j, 2), Cells(j, 4)).Copy Matome_Sht.Cells(i, 2)
                    End If
                
                Next j
            End If
        Next Ws
    Next i

End Sub

マクロ実行前

転記先は「まとめ」シートの [B2:D6] です。


 

各シートの状態です。

同じフォーマットになっており、該当箇所のみデータ入力してあります。


 

マクロ実行後

各シートから該当データを転記します。


 

補足

シート毎に、A列の並びが揃っていなくても動作します。


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

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

 

「プログラマーの本気がExcelを覚醒させる 超絶ExcelVBA」
ExcelVBAでワンランクアップできる書籍
具体的で応用が利く技をたくさん掲載