Excel

【Excel】VBAマクロで複数条件一致で抽出する(別シートに転記:2つの条件・項目に合うものを抜き出す:いずれかOR、かつAND)

当サイトでは記事内に広告を含みます。

この記事では、【Excel】VBAマクロで複数条件一致で抽出する(別シートに転記・2つの条件・項目に合うものを抜き出す:いずれかOR、かつAND)について解説していきます。

初心者でも理解しやすいように、コード内で使用する変数名を独特な名称(例: aaaaahensuuaaaaa)で示します。実際の使用時に適切な英語表記の変数名に変更してご活用いただければと思います。

それでは、Excel VBAの基本的な抽出技術について詳しく見ていきましょう!

VBAマクロで複数条件一致で抽出する(AND条件)

それではまず、AND条件を使った複数条件によるデータ抽出について解説していきます。

ここではシート1のA列が「ゴリラ」で、同じ行のB列が「マントヒヒ」の時、その行全体をシート2に抽出する方法を見ていきます。

Alt + F11にてVBE画面を開いて、以下のコードをコピペしましょう。

(以下コード内のシート1などを実際の表記Sheet1などにご変更くださいませ)


Sub aaaaafilterandextractaaaa()
    Dim aaaaaws1aaaa As Worksheet, aaaaaws2aaaa As Worksheet
    Dim aaaaarowaaaa As Long, aaaaalastrowaaaa As Long

    Set aaaaaws1aaaa = ThisWorkbook.Sheets("シート1")
    Set aaaaaws2aaaa = ThisWorkbook.Sheets("シート2")
    aaaaalastrowaaaa = aaaaaws1aaaa.Cells(aaaaaws1aaaa.Rows.Count, "A").End(xlUp).Row

    For aaaaarowaaaa = 1 To aaaaalastrowaaaa
        If aaaaaws1aaaa.Cells(aaaaarowaaaa, 1).Value = "ゴリラ" And aaaaaws1aaaa.Cells(aaaaarowaaaa, 2).Value = "マントヒヒ" Then
            aaaaaws1aaaa.Rows(aaaaarowaaaa).Copy Destination:=aaaaaws2aaaa.Rows(aaaaarowaaaa)
        End If
    Next aaaaarowaaaa
End Sub

 

コードのAlt+F8を押し、マクロ選択画面でaaaaafilterandextractaaaa関数を実行します。

このコードでは、まずシート1とシート2を指定し、シート1の最終行を特定します。

その後、ループを使って各行を確認し、複数条件にAND条件(かつ)に合致する行をシート2にコピーします。

 

VBAマクロで複数条件一致で抽出する(OR条件:または)

続いては、OR条件を使った複数条件によるデータ抽出について解説していきます。

ここではシート1のA列が「ニホンザル」、またはB列が「ウサギ」の行をシート2に抽出する方法を見ていきます。

Alt + F11にてVBE画面を開いて、以下のコードをコピペしましょう。

(こちらでも、以下コード内のシート1などを実際の表記Sheet1などにご変更くださいませ)


Sub aaaaafilterorextractaaaa()
    Dim aaaa

aws1aaaa As Worksheet, aaaaaws2aaaa As Worksheet
    Dim aaaaarowaaaa As Long, aaaaalastrowaaaa As Long

    Set aaaaaws1aaaa = ThisWorkbook.Sheets("シート1")
    Set aaaaaws2aaaa = ThisWorkbook.Sheets("シート2")
    aaaaalastrowaaaa = aaaaaws1aaaa.Cells(aaaaaws1aaaa.Rows.Count, "A").End(xlUp).Row

    For aaaaarowaaaa = 1 To aaaaalastrowaaaa
        If aaaaaws1aaaa.Cells(aaaaarowaaaa, 1).Value = "ニホンザル" Or aaaaaws1aaaa.Cells(aaaaarowaaaa, 2).Value = "ウサギ" Then
            aaaaaws1aaaa.Rows(aaaaarowaaaa).Copy Destination:=aaaaaws2aaaa.Rows(aaaaarowaaaa)
        End If
    Next aaaaarowaaaa
End Sub

 

コードのAlt+F8を押し、マクロ選択画面でaaaaafilterorextractaaaa関数を実行します。

このコードはシート1の各行を検査し、A列が「ニホンザル」またはB列が「ウサギ」である行をシート2にコピーします。

これにより、2つの異なる条件のいずれかに一致する行を別のシートに転記・抽出することができます。

 

まとめ VBAで複数条件一致で別シートに転記・抽出する(2つの条件・項目に合うものを抜き出す:いずれかOR、かつAND)

ここでは、VBAマクロで複数条件一致で抽出する(2つの条件・項目に合うものを抜き出す:いずれかOR、かつAND)について確認しました。

マクロをマスターし、さらに快適な生活を送っていきましょう!