2つの条件でデータを抽出する(AutoFilter) : Excel
Excel VBAでAutoFilterメソッドを使い、二つの条件で抽出するには、引数の Criteria1 と Criteria2 に設定します。
そして、抽出の方法を、Operator に xlAnd か xlOR のどちらかを指定します。
構文 : Rangeオブジェクト.AutoFilter(Field, Criteria1, Operator, Criteria2, VisibleDropDown)
Field - フィルタの対象となる列番号を整数で指定します。左側から始まり、最も左側にある列は 1 になります。
Criteria1 - 抽出条件となる文字列を指定します。省略すると、抽出条件はなしになります。
Operator - フィルタの種類を指定します。
Criteria2 - 2番目の抽出条件となる文字列を指定します。
VisibleDropDown - オートフィルタのドロップダウン矢印を表示する場合はTrue、非表示の場合はFalseを指定します。
Operatorの定数 :
xlAnd - Criteria1の条件とCriteria2の条件の両方を満たすデータを抽出
xlOr - Criteria1の条件かCriteria2のいずれかの条件を満たすデータを抽出
Homeに戻る >
Excel 数値・文字列・検索・印刷のTipsへ
Excel実行画面
抽出画面
AND か OR のどちらで抽出するかを、オプションボタンで選択します。
市町村の名前に「田」と「町」がつく条件で抽出
市町村の名前に「田」か「町」がつく条件で抽出
Excel VBA実行コード
'人口と市町村につく名前で抽出
Private Sub CommandButton1_Click()
If Range("B2") = "" Then
MsgBox "B2に抽出する文字を入力してください。"
Exit Sub
End If
If Range("B2") = "" Then
MsgBox "B4に抽出する文字を入力してください。"
Exit Sub
End If
If OptionButton1.Value = True Then
'ANDで抽出
Range("A6").AutoFilter 1, "*" + Range("B2") + "*", xlAnd, "*" + Range("B4") + "*"
Else
'ORで抽出
Range("A6").AutoFilter 1, "*" + Range("B2") + "*", xlOr, "*" + Range("B4") + "*"
End If
End Sub
'オートフィルタを解除する
Private Sub CommandButton2_Click()
AutoFilterMode = False
End Sub
Homeに戻る >
Excel 数値・文字列・検索・印刷のTipsへ
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します
Copyright (c) Excel-Excel ! All rights reserved