エクセルマクロ 複数条件が一致で別シート抽出(動画あり)

ExcelVBA-条件に合うデータ別シート抽出-アイキャッチ ExcelVBA

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