Excelでオートフィルタを使用する

頻繁に使用する4つのパターンをご紹介します。

ここではフィルタリングする言葉を「keyWord 」としますが、ダブルクォーテーション( " " )でくくれば文字列も使用できます。


【パターン1】ベーシック

「山田」でフィルタリングします。

Sub オートフィルタ()
'
    Dim keyWord As String
    '
    keyWord = "山田"

    '

    '「Sheet1」シートの1行目(Rows(1))のB列(Field:=2)を「山田」でフィルタリングする

    Worksheets("Sheet1").Rows(1).AutoFilter Field:=2, Criteria1:=keyWord

'

End Sub


【パターン2】ワイルドカード

「山田を含む」でフィルタリングします。

Sub オートフィルタ()
'
    Dim keyWord As String
    '
    keyWord = "山田"

    ’

    '「Sheet1」シートの1行目(Rows(1))のB列(Field:=2)を「山田を含む」でフィルタリングする

    Worksheets("Sheet1").Rows(1).AutoFilter Field:=2, Criteria1:="*" & keyWord & "*"

'

End Sub


【パターン3】複数条件

「山田を含む」か「佐藤」でフィルタリングします。

Sub オートフィルタ()
'
    Dim keyWord As String
    Dim keyWord2 As String
    '

    keyWord = "山田"

    keyWord2 = "佐藤"

    '

    '「Sheet1」シートの1行目(Rows(1))のB列(Field:=2)を「山田を含む」か「佐藤」でフィルタリングする

    Worksheets("Sheet1").Rows(1).AutoFilter Field:=2, _

        Criteria1:="*" & keyWord & "*", Operator:=xlOr, _

        Criteria2:=keyWord2

'

End Sub


【パターン4】除外

「山田以外」でフィルタリングします。

Sub オートフィルタ()
'
    Dim keyWord As String
    '
    keyWord = "山田"

    '

    '「Sheet1」シートの1行目(Rows(1))のB列(Field:=2)を「山田以外」でフィルタリングする

    Worksheets("Sheet1").Rows(1).AutoFilter Field:=2, Criteria1:="<>" & keyWord

'

End Sub


【その他】全選択

全て選択してある状態にします。

Sub オートフィルタ()
'
    '全選択の状態にする
    If Worksheets("Sheet1").FilterMode Then infost.ShowAllData
'

End Sub


以上です。

業務tips保管庫

ちょっとした工夫で日々の業務を少しだけ楽にする。

0コメント

  • 1000 / 1000