ExcelWork.info

オートフィルタ(抽出条件で使用できる演算子・記号)AutoFilter メソッド

AutoFilter メソッド


【書式】

object.AutoFilter ( [ field, criteria1 ] )


引数・戻り値

  • object  ・・・  対象となる Range オブジェクトを指定します。
  • field  ・・・  フィルターの対象となるフィールド番号を整数で指定します。対象となる範囲の最も左側の列(フィールド)が、フィールド番号 1 になります。
    複数の列(フィールド)をまとめて扱いたい場合は、配列を指定することも可能です。
     (例)field := Array(1,3,6)
  • criteria1  ・・・  抽出条件となる文字列を指定します。

AutoFilter メソッド の引数の詳細については、オートフィルタ(AutoFilter メソッド) を参照してください。


抽出条件で使用できる演算子・記号

定数 内容
= criteria1 := “=100” のように使用します(100 と等しい値を抽出)
“=” を指定すると空白セルを抽出します
<> criteria1 := “<>山” のように使用します(「山」を含まないレコードを抽出)
“<>” を指定すると空白セル以外を抽出します
< criteria1 := “<100” のように使用します(100 より小さい値を抽出)
<= criteria1 := “<=100” のように使用します(100 以下の値を抽出)
> criteria1 := “>100” のように使用します(100 より大きい値を抽出)
>= criteria1 := “>=100” のように使用します(100 以上の値を抽出)
* 任意の文字列を表します
criteria1 := “*山* のように使用します(山を含むレコードを抽出)
“山*”「山ではじまるレコード」、“*山”「山で終わるレコード」
? 任意の1文字を表します
criteria1 := “??山” のように使用します(山で終わる3文字の文字列)


*? は、数値のセルでは使用できません。
下記、成績表(AutoFilter メソッド 使用例)の「登録番号」列には、数値が入力されています。この列を対象に、末尾が 1 の数値を抽出するために
  criteria1 := “*1”
を指定しても何も抽出されません。
  criteria1 := “???1”
の場合も同様に何も抽出されません。
(※ ただし、数値の先頭に ‘(シングルクォーテーション)を付けて文字列として認識させると、抽出可能となります。)

*? そのものを抽出するには、*?の前に、~(チルダ)を付けます。
  criteria1 := “~*”
  criteria1 := “~?”



AutoFilter メソッド 使用例

サンプルVBAソース


実行結果

サンプルVBAソース実行前

実行後