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またはCriteria2 Xlor

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

コード例

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

引数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に設定する値例
抽出条件 記述方法
空白 “=”
空白ではない “<>”

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

スポンサーリンク

関連記事・広告