オートフィルタ(日付フィルタ)AutoFilter メソッド
日付フィルタを使用してレコードを抽出する
Excel 2007 から「日付フィルタ」という機能が追加されました。これをマクロで行うには、AutoFilter メソッドで、引数 operator に、xlFilterDynamic を指定し、引数 criteria1 に、XlDynamicFilterCriteria 列挙型 の定数を指定します(Excel 2007 以降のバージョン)。
object.AutoFilter ( [ field, criteria1, operator ] )
引数・戻り値
- object ・・・ 対象となる Range オブジェクトを指定します。
- field ・・・ フィルターの対象となるフィールド番号を整数で指定します。対象となる範囲の最も左側の列(フィールド)が、フィールド番号 1 になります。
複数の列(フィールド)をまとめて扱いたい場合は、配列を指定することも可能です。
(例)field := Array(1,3,6) - criteria1 ・・・ XlDynamicFilterCriteria 列挙型 の定数または、その値を指定します。
定数 値 説明 xlFilterToday 1 今日 xlFilterYesterday 2 昨日 xlFilterTomorrow 3 明日 xlFilterThisWeek 4 今週 xlFilterLastWeek 5 先週 xlFilterNextWeek 6 次週 xlFilterThisMonth 7 今月 xlFilterLastMonth 8 先月 xlFilterNextMonth 9 来月 xlFilterThisQuarter 10 今四半期 xlFilterLastQuarter 11 前四半期 xlFilterNextQuarter 12 次の四半期 xlFilterThisYear 13 今年 xlFilterLastYear 14 昨年 xlFilterNextYear 15 来年 xlFilterYearToDate 16 今年の初めから今日まで xlFilterAllDatesInPeriodQuarter1 17 第 1 四半期のすべての日付 xlFilterAllDatesInPeriodQuarter2 18 第 2 四半期のすべての日付 xlFilterAllDatesInPeriodQuarter3 19 第 3 四半期のすべての日付 xlFilterAllDatesInPeriodQuarter4 20 第 4 四半期のすべての日付 xlFilterAllDatesInPeriodJanuary 21 1 月のすべての日付 xlFilterAllDatesInPeriodFebruray 22 2 月のすべての日付 xlFilterAllDatesInPeriodMarch 23 3 月のすべての日付 xlFilterAllDatesInPeriodApril 24 4 月のすべての日付 xlFilterAllDatesInPeriodMay 25 5 月のすべての日付 xlFilterAllDatesInPeriodJune 26 6 月のすべての日付 xlFilterAllDatesInPeriodJuly 27 7 月のすべての日付 xlFilterAllDatesInPeriodAugust 28 8 月のすべての日付 xlFilterAllDatesInPeriodSeptember 29 9 月のすべての日付 xlFilterAllDatesInPeriodOctober 30 10 月のすべての日付 xlFilterAllDatesInPeriodNovember 31 11 月のすべての日付 xlFilterAllDatesInPeriodDecember 32 12 月のすべての日付 xlFilterAboveAverage 33 平均を上回る値 xlFilterBelowAverage 34 平均未満の値 - operator ・・・ xlFilterDynamic を指定します。
AutoFilter メソッド の引数の詳細については、オートフィルタ(AutoFilter メソッド) を参照してください。
日付フィルタを使用してレコードを抽出する例
サンプルVBAソース 1
1 2 3 4 5 6 7 8 9 10 |
Sub Sample10_1_AutoFilter() '「納品日」12月のすべての日付 Range("A1").AutoFilter Field:=10, _ criteria1:=xlFilterAllDatesInPeriodDecember, _ Operator:=xlFilterDynamic End Sub |
実行結果
サンプルVBAソース 実行前
実行後
サンプルVBAソース 2
1 2 3 4 5 6 7 8 9 10 |
Sub Sample10_2_AutoFilter() '「支払日」来年 Range("A1").AutoFilter Field:=11, _ criteria1:=xlFilterNextYear, _ Operator:=xlFilterDynamic End Sub |
実行結果
サンプルVBAソース 実行前
実行後
関連記事
-
-
対象のセルを参照している全てのセルを取得(Dependents プロパティ)
Dependents プロパティ Dependents プロパティは、対象のセル …
-
-
直前のセル・直後のセルを参照する(Previous プロパティ・Next プロパティ)
Previous プロパティ・Next プロパティ Previous プロパティ …
-
-
対象のセル・セル範囲に数式があるかどうか調べる(HasFormula プロパティ)
HasFormula プロパティ HasFormula プロパティは、対象のセル …
-
-
グラデーション(Pattern プロパティ・Gradient プロパティ)
セルの背景ににグラデーションを設定する Pattern プロパティを使用するとセ …
-
-
文字の向きを表す値を取得・設定する(Orientation プロパティ)
Orientation プロパティ Orientation プロパティで、文字列 …
-
-
文字列をセル幅で折り返す(WrapText プロパティ)
WrapText プロパティ WrapText プロパティは、セルに表示されてい …
-
-
入力規則(エラーメッセージの設定)Validation オブジェクト
無効値を入力時に、エラーメッセージの表示 Validation.ShowErro …
-
-
セルを挿入する(Insert メソッド)
Insert メソッド Insert メソッドで、指定した場所に新規の空白セルを …
-
-
フリガナ(Phonetics プロパティ)
Phonetics プロパティ Phonetics コレクションを返します。値の …
-
-
重複するデータを削除(RemoveDuplicates メソッド)
RemoveDuplicates メソッド 指定したセル範囲から重複データを含む …