エクセルマクロで、複数条件が一致で別シート抽出するVBAコードをご紹介します。
このページのマクロコードは、コピペで使えます。
ぜひお試しください😉
複数条件が一致で別シート抽出
以下のExcelVBAを実行すると、複数条件が一致するデータを別シートへ抽出します。
Sub 複数の条件があうものを抽出()
Dim LastRow As Long
Dim i As Long
Dim j As Long
Dim Sh1 As Worksheet
Dim Sh2 As Worksheet
'シートを変数代入
Set Sh1 = Sheets("Sheet1")
Set Sh2 = Sheets("Sheet2")
'Sheet1の最終行を取得
LastRow = Sh1.Cells(Rows.Count, 1).End(xlUp).Row
'Sheet2の転記開始行を指定(1行目)
j = 1
Application.ScreenUpdating = False
'Sheet1の1~最終行までループ
For i = 1 To LastRow
'Sheet1のA列が「りんご」で、E列が「A」で、F列が「東京都」だったら
If Sh1.Cells(i, 2) = "りんご" And Sh1.Cells(i, 5) = "A" And Sh1.Cells(i, 6) = "東京都" Then
'Sheet1のA~F列をコピーして、Sheet2の最終行にコピー
Sh1.Range(Cells(i, 1), Cells(i, 6)).Copy Sh2.Cells(j, 1)
'Sheet2の次の貼り付け行を指定
j = j + 1
End If
Next i
Application.ScreenUpdating = True
End Sub
マクロ実行後
Sheet1から以下条件が一致するデータを抽出して、Sheet2に転記します。
・A列が「りんご」
・E列が「A」
・F列が「東京都」
Sheet1から抽出したデータは、Sheet2の上から詰めて転記します。
この記事がお役に立ちますと幸いです。
・【エクセルマクロ】別シート転記を自動処理する方法まとめ
【エクセルマクロ】別シート転記(抽出)を自動化する:超便利20選
...
「プログラマーの本気がExcelを覚醒させる 超絶ExcelVBA」
ExcelVBAでワンランクアップできる書籍
具体的で応用が利く技をたくさん掲載
リンク