エクセルマクロで、条件一致で別シートへ転記する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でワンランクアップできる書籍
具体的で応用が利く技をたくさん掲載
リンク