ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

オートフィルタ(日付・時刻のグループ化)AutoFilter メソッド

   

グループ化された日付や時刻で、レコードを抽出する

Excel 2007 から日付データがグループ化され、「年」「月」「日」を指定してレコードの抽出を行うことができるようになりました。これをマクロで行うには、AutoFilter メソッドで、引数 operator に、xlFilterValues を指定し、引数 criteria2 に、条件を表す配列 を指定します( 注意:criteria1 ではなく criteria2 )(Excel 2007 以降のバージョン)。


【書式】

object.AutoFilter ( [ field, criteria1, operator, criteria2 ] )


引数・戻り値

  • object  ・・・  対象となる Range オブジェクトを指定します。
  • field  ・・・  フィルターの対象となるフィールド番号を整数で指定します。対象となる範囲の最も左側の列(フィールド)が、フィールド番号 1 になります。
    複数の列(フィールド)をまとめて扱いたい場合は、配列を指定することも可能です。
     (例)field := Array(1,3,6)
  • criteria1  ・・・  抽出条件を指定します(今回は指定する必要はありません)。
  • operator  ・・・  xlFilterValues を指定します。
  • criteria2  ・・・  抽出条件を表す配列を指定します
     【書式】
     criteria2 := Array ( num1, date1, num2, date2, num3, date3 …… )
     num( 0 ~ 5 の整数値) と date (日付)がペアとなり、抽出条件を表します(下表参照)。

    num 意味
    0 date で指定した日付の年(対象となるセルは日付形式)
    1 date で指定した日付の月(対象となるセルは日付形式)
    2 date で指定した日付の日(対象となるセルは日付形式)
    3 date で指定した時刻の時(対象となるセルは日付形式)
    4 date で指定した時刻の分(対象となるセルは日付形式)
    5 date で指定した時刻の秒(対象となるセルは日付形式)


上記、date には、”2015/7/1″ や “2015/07/01″ のように指定します。「0」(年)や「1」(月)を指定する場合でも「月」や「日」の部分を省略したりすることはできません。
Excel 2013 では、日付リテラル( #2015/7/1# )や、日本語(”7月1日”)での指定でも OK でした。ただ、”2015年7月1日” とするとエラーになりました。”7月1日2015年” と指定すると OK でした。


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



グループ化された日付や時刻を使用してレコードを抽出する例

サンプルVBAソース 1


実行結果

サンプルVBAソース 実行前

AutoFilter メソッド 使用例11_1

実行後

AutoFilter メソッド 使用例11_2



サンプルVBAソース 2


実行結果

サンプルVBAソース 実行前

AutoFilter メソッド 使用例11_3

実行後

AutoFilter メソッド 使用例11_4


 - セルの操作 , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

罫線の設定(Borders プロパティ)

罫線の設定 罫線を一括(上下左右すべて)で設定するには、Borders プロパテ …

指定した条件に一致するセルを取得(SpecialCells メソッド)

SpecialCells メソッド SpecialCells メソッドは、指定し …

VBA で、ワークシート関数を使用(WorksheetFunction プロパティ)

VBA で、ワークシと関数を使用 VBA から、ワークシート関数を呼び出す場合、 …

配列数式を取得または設定する(FormulaArray プロパティ)

FormulaArray プロパティ FormulaArray プロパティは、対 …

別シートのセルを選択(Goto メソッド / PreviousSelections プロパティ)

Goto メソッド 次の例のように、1 行で、Activate メソッド や S …

使用中のセル範囲を取得(CurrentRegion プロパティ)

CurrentRegion プロパティ CurrentRegion プロパティは …

網かけ(パターン)の取得・設定(Pattern プロパティ)

網かけ(パターン)を取得・設定する セルの背景に網かけ(パターン)を設定したり、 …

現在選択されているセルを参照(RangeSelection プロパティ)

RangeSelection プロパティ 実際に何が選択されているかにかかわらず …

フリガナの設定(SetPhonetic メソッド)

フリガナの設定(SetPhonetic メソッド) SetPhonetic メソ …

使用中のセル範囲を取得(UsedRange プロパティ)

UsedRange プロパティ UsedRange プロパティは、指定したワーク …