ExcelのAutoFilterメソッドを使うと、条件に合ったデータを抽出します。
Homeに戻る >
Excel 数値・文字列・検索・印刷のTipsへ
構文 : Rangeオブジェクト.AutoFilter(Field, Criteria1, Operator, Criteria2, VisibleDropDown)
Field - フィルタの対象となる列番号を整数で指定します。左側から始まり、最も左側にある列は 1 になります。
Criteria1 - 抽出条件となる文字列を指定します。省略すると、抽出条件はなしになります。
Operator - フィルタの種類を指定します。
Criteria2 - 2番目の抽出条件となる文字列を指定します。
VisibleDropDown - オートフィルタのドロップダウン矢印を表示する場合はTrue、非表示の場合はFalseを指定します。
Criteria1の設定例:
Criteria1:="=値" - 値と等しい
Criteria1:="<>値" - 値と等しくない
Criteria1:=">値" - 値よりおおきい
Criteria1:=">=値" - 値以上
Criteria1:="<値" - 値より小さい
Criteria1:="<=値" - 値以下
Criteria1:="=値*" - 開始文字が値
Criteria1:="<>値*" - 開始文字が値でない
Criteria1:="=*値" - 値で終わる
Criteria1:="<>*値" - 値で終わらない
Criteria1:="=*値*" - 値を含む
Criteria1:="<>*値*" - 値を含まない
Operatorの定数 :
xlAnd - Criteria1の条件とCriteria2の条件の両方を満たすデータを抽出
xlOr - Criteria1の条件かCriteria2のいずれかの条件を満たすデータを抽出
xlTop10Items - 値の上位からCriteria1で指定した数のデータを抽出
xlBottom10Items - 値の下位からCriteria1で指定した数のデータを抽出
xlTop10Percent - 値の上位からCriteria1で指定したパーセントのデータを抽出
xlBottom10Percent - 値の下位からCriteria1 で指定したパーセントのデータを抽出
Excel実行画面
抽出画面
人口が200000人以上の市町村を抽出した結果
名前に「大」がつく市町村を抽出
人口と名前の両方を実行した結果
Excel VBA実行コード
'人口が何人以上の市町村を抽出
Private Sub CommandButton1_Click()
If Range("B2") = "" Then
MsgBox "B2に人数を入力してください。"
Exit Sub
End If
Range("A6").AutoFilter 2, ">=" + Str(Range("B2"))
End Sub
'オートフィルタを解除する
Private Sub CommandButton2_Click()
AutoFilterMode = False
End Sub
'名前に()文字がつく市町村
Private Sub CommandButton3_Click()
If Range("B2") = "" Then
MsgBox "B4に抽出する文字を入力してください。"
Exit Sub
End If
Range("A6").AutoFilter 1, "*" + Range("B4") + "*"
End Sub