オートフィルタ(AutoFilter メソッド)
AutoFilter メソッド
object.AutoFilter ( [ field, criteria1, operator, criteria2, visibledropdown ] )
引数・戻り値
- object ・・・ 対象となる Range オブジェクトを指定します。
- field ・・・ フィルターの対象となるフィールド番号を整数で指定します。対象となる範囲の最も左側の列(フィールド)が、フィールド番号 1 になります。
複数の列(フィールド)をまとめて扱いたい場合は、配列を指定することも可能です。
(例)field := Array(1,3,6) - criteria1 ・・・ 抽出条件となる文字列を指定します。(抽出条件 1 )
- operator ・・・ フィルターの種類を XlAutoFilterOperator 列挙型 の定数またはその値を指定します。
定数 値 内容 xlAnd 1 抽出条件 1 と抽出条件 2 の両方を満たす値(論理演算子 AND)を抽出(既定値) xlOr 2 抽出条件 1 または 抽出条件 2 のいずれかを満たす値(論理演算子 OR)を抽出 xlTop10Items 3 上位 [抽出条件 1 で指定される数] のレコードを抽出 xlBottom10Items 4 下位 [抽出条件 1 で指定される数] のレコードを抽出 xlTop10Percent 5 上位 [抽出条件 1 で指定される割合(%)] の値をもつレコードを抽出 xlBottom10Percent 6 下位 [抽出条件 1 で指定される割合(%)] の値をもつレコードを抽出 xlFilterValues 7 値(複数の値を指定したい場合は、抽出条件 1 に配列を指定します) xlFilterCellColor 8 セルの色 xlFilterFontColor 9 フォントの色 xlFilterIcon 10 アイコン xlFilterDynamic 11 動的フィルター(抽出条件 1 に、XlDynamicFilterCriteria 列挙型 の定数を指定します) - criteria2 ・・・ 2番目の抽出条件となる文字列を指定します。引数 Criteria1 および引数 Operator と組み合わせて使い、複合抽出条件を指定します。(抽出条件 2 )
- visibledropdown ・・・ True を指定すると、引数 field で指定した列(フィールド)のオートフィルターのドロップダウン矢印を表示し、False を指定すると非表示にします。既定値は True です。
xlFilterValues、xlFilterCellColor、xlFilterIcon、xlFilterFontColor、xlFilterDynamic は、Excel 2007 以降
AutoFilter メソッド 使用例 1
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
Sub Sample02_AutoFilter() With ActiveSheet.Range("$B$3:$J$26") '「合計」上位10レコードを抽出 .AutoFilter Field:=8, _ Criteria1:=12, _ Operator:=xlTop10Items '「氏名」「田」がつくレコードを抽出 .AutoFilter Field:=2, _ Criteria1:="*田*" End With '「合計」を対象に、降順で並べ替え With ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort With .SortFields .Clear .Add Key:=Range("I3:I26"), _ SortOn:=xlSortOnValues, _ Order:=xlDescending, _ DataOption:=xlSortNormal End With .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub |
実行結果
サンプルVBAソース実行前
実行後
AutoFilter メソッド 使用例 2
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Sub Sample02_2_AutoFilter() With ActiveSheet.Range("$B$3:$J$26") '「登録番号」1001,1002,1003,1004,1005 を抽出 '1つの列で3つ以上の条件を指定する場合は '「operator」に「xlFilterValues」を指定します .AutoFilter Field:=1, _ criteria1:=Array("1001", "1002", "1003", "1004", "1005"), _ Operator:=xlFilterValues End With End Sub |
実行結果
サンプルVBAソース実行前
実行後
関連記事
-
-
ハイパーリンク(Hyperlink オブジェクトのメソッド)
Hyperlink オブジェクトのメソッド Hyperlinks コレクション …
-
-
セルを挿入する(Insert メソッド)
Insert メソッド Insert メソッドで、指定した場所に新規の空白セルを …
-
-
2つ以上のセル範囲を1つにまとめて参照(Union メソッド)
Union メソッド Union メソッドは、2つ以上のセル範囲を1つにまとめて …
-
-
セルの値を置換・書式設定(Replace メソッド,ReplaceFormat プロパティ)
セルの値の置換と書式設定 検索条件に一致するセルの書式を設定するには、まず、Ap …
-
-
網かけ(パターン)の取得・設定(Pattern プロパティ)
網かけ(パターン)を取得・設定する セルの背景に網かけ(パターン)を設定したり、 …
-
-
文字の向きを表す値を取得・設定する(Orientation プロパティ)
Orientation プロパティ Orientation プロパティで、文字列 …
-
-
セル範囲内を検索(Find メソッド)
Find メソッド 指定したセル範囲内の特定の情報を含むセルを検索します。 【書 …
-
-
フリガナの設定(SetPhonetic メソッド)
フリガナの設定(SetPhonetic メソッド) SetPhonetic メソ …
-
-
入力規則(リストで制限する)Validation.Add メソッド
ドロップダウンリストで入力値を制限 Validation.Add メソッド(また …
-
-
行の高さを取得・設定・する(RowHeight プロパティ)
RowHeight プロパティ RowHeight プロパティは、対象セルの高さ …