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

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

スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク