オートフィルタ(日付フィルタ)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ソース 実行前
実行後
関連記事
-
終端セルを参照する(End プロパティ)
End プロパティ End プロパティは、基準となるセルが含まれる領域の指定した …
-
指定した行数・列数移動したセル・セル範囲を参照(Offset プロパティ)
Offset プロパティ Offset プロパティは、基準となるセル・セル範囲か …
-
引数に指定したセル範囲の共通のセル範囲を取得(Intersect メソッド)
Intersect メソッド Intersect メソッドは、引数に指定したセル …
-
セルの行番号または列番号を取得(Row プロパティ,Column プロパティ)
Row プロパティ・Column プロパティ Row プロパティは、指定したセル …
-
セルの幅・高さの自動調整(AutoFit メソッド)
AutoFit メソッド AutoFit メソッドは、指定したセル・セル範囲(R …
-
網かけ(パターン)の取得・設定(Pattern プロパティ)
網かけ(パターン)を取得・設定する セルの背景に網かけ(パターン)を設定したり、 …
-
任意のセルを含む行または列全体を参照(EntireRow プロパティ,EntireColumn プロパティ)
EntireRow プロパティ・EntireColumn プロパティ Entir …
-
文字列の横位置を取得・設定する(HorizontalAlignment プロパティ)
HorizontalAlignment プロパティ HorizontalAlig …
-
対象のセル・セル範囲に数式があるかどうか調べる(HasFormula プロパティ)
HasFormula プロパティ HasFormula プロパティは、対象のセル …
-
セル内部を参照(Interior プロパティ)
Interior プロパティ Interior プロパティで、セルの内部を参照し …