Excle VBA オートフィルターでデータを文字列で絞り込む

スポンサーリンク

オートフィルターでデータを文字列で絞り込む方法

データ範囲をオートフィルターを使用して指定した文字列でデータを絞り込むには、
Range【レンジ】オブジェクトのAutoFilter【オートフィルター】メソッドを使用します。

2列目をA地区で3列目を鈴木では無いデータの抽出例

コードと解説

Sub 文字列抽出()
ActiveSheet.AutoFilterMode = False
With Range("A1")
    .AutoFilter Field:=2, Criteria1:="A地区"
    .AutoFilter Field:=3, Criteria1:="<>鈴木"
End With
End Sub
2行目【ActiveSheet.AutoFilterMode = False】
Worksheet【ワークシート】オブジェクトのAutoFilterMode【オートフィルターモード】プロパティにFalseを設定して、フィルターモードを解除します。


3行目【With Range(“A1”)】
A1セルをWith【ウィズ】ステートメントで指定します。


4行目【 .AutoFilter Field:=2, Criteria1:=”A地区”】
With【ウィズ】ステートメントで指定したRange【レンジ】オブジェクトのAutoFilter【オートフィルター】メソッドを使用してオートフィルターを設定します。
抽出条件の対象となる列を表す引数Field【フィールド】に左から2列目を表す2を設定し1つめの抽出条件となる文字列を表す
引数Critera1【クライテリアワン】に「A地区」を設定します。


5行目【.AutoFilter Field:=3, Criteria1:=”<>鈴木”】
With【ウィズ】ステートメントで指定したRange【レンジ】オブジェクトのAutoFilter【オートフィルター】メソッドを使用してオートフィルターを設定します。抽出条件の対象となる列を表す引数Field【フィールド】に左から3列目を表す3を設定し1つめの抽出条件となる文字列を表す引数Critera1【クライテリアワン】に「<>鈴木」を設定します。

「<>鈴木」は鈴木と等しくないを意味し鈴木を含まないということです。


抽出条件記述方法
○と等しい“=○”または”○”   =は省略できます。
○と等しくない“<>○”

3列目の田を含む文字列での抽出例

コード例

Sub 文字列抽出2()
ActiveSheet.AutoFilterMode = False
Range("A1").AutoFilter field:=3, Criteria1:="*田*"
End Sub

「○で始まる」や「○で終わる」あるいは「○を含む」という条件で、文字列を絞り込むには、ワイルドカードを使用します。ワイルドカードの「*」は複数文字列の代用、「?」は1文字の代用を意味します。

ワイルドカードを使用例
抽出条件記述方法
○で始まる“○*”
○で終わる“*○”
○を含む“*○*”
○を含む4文字“○???”

3列目で鈴木または小林という条件で抽出する例

コード例

Sub 文字列抽出3()
ActiveSheet.AutoFilterMode = False
Range("A1").AutoFilter field:=3, Criteria1:="鈴木", _
                 Operator:=xlOr, Criteria2:="小林"
End Sub
抽出条件を設定する引数Operatorの設定値
抽出条件定数
Criteria1またはCriteria2Xlor

4列目の数値の範囲で抽出する例

コード例

Sub 文字列抽出4()
ActiveSheet.AutoFilterMode = False
Range("A1").AutoFilter field:=4, Criteria1:=">490000", _
                Operator:=xlAnd, Criteria2:="<498000"
End Sub
抽出条件を設定する引数Operatorの設定値
抽出条件定数
Criteria1かつCriteria2XlAnd

引数Criteriaで使用できる比較演算子
抽出条件記述方法/th>
10と等しい“=10″または”10” =は省略できます。
10より大きい“>10”
10以上“>=10”
10より小さい“<10”
10以下“<=10”

4列目の空白セルを抽出する例

コード例

Sub 文字列抽出5()
ActiveSheet.AutoFilterMode = False
Range("A1").AutoFilter field:=4, Criteria1:="="
End Sub
抽出条件のCriteriaに設定する値例
抽出条件記述方法
空白“=”
空白ではない“<>”

以上で、オートフィルターでデータを文字列で絞り込む方法についての解説を終了します。ありがとうございます。

スポンサーリンク

関連記事・広告