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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

入力規則(Validation オブジェクト)

Validation オブジェクト セル範囲に入力できる値を制限するには 入力規 …

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

AutoFilter メソッド 【書式】 object.AutoFilter ( …

任意のセルを含む行または列全体を参照(EntireRow プロパティ,EntireColumn プロパティ)

EntireRow プロパティ・EntireColumn プロパティ Entir …

セルの幅・高さの自動調整(AutoFit メソッド)

AutoFit メソッド AutoFit メソッドは、指定したセル・セル範囲(R …

コメントの設定(Comments, Comment, AddComment, ClearComment)

コメントの設定 セルにコメントを新規に挿入するには、AddComment メソッ …

セル・セル範囲を貼り付ける(Paste メソッド)

Paste メソッド Paste メソッドは、クリップボードの内容を指定したセル …

セルが選択されているか確認する(TypeName 関数)

セルが選択されているか確認する方法と使用例 TypeName 関数の引数に、Se …

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

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

セル範囲を結合・結合を解除(MergeCells プロパティ)

MergeCells プロパティ MergeCells プロパティは、指定したセ …

対象のセルを参照している全てのセルを取得(Dependents プロパティ)

Dependents プロパティ Dependents プロパティは、対象のセル …