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

  関連記事

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

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

書式で検索(Find メソッド,FindFormat プロパティ)

書式で検索 書式を条件にセルを検索する場合、まず、その書式条件を CellFor …

テーマカラーで網かけ(パターン)の色の取得・設定(PatternThemeColor プロパティ・PatternTintAndShade プロパティ)

PatternThemeColor プロパティ・PatternTintAndSh …

Locked プロパティ
セルのロック(Locked プロパティ)

セルのロック(Locked プロパティ) Locked プロパティで、セルのロッ …

ハイパーリンク(Hyperlinks オブジェクト)

Hyperlinks オブジェクト ワークシートまたはセル範囲のワークシートコレ …

AutoFilter オブジェクト(メソッド・プロパティ)

AutoFilter.ShowAllData メソッド AutoFilter.S …

対象のセル・セル範囲に数式があるかどうか調べる(HasFormula プロパティ)

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

セル内の編集を禁止する(EditDirectlyInCell プロパティ)

EditDirectlyInCell プロパティ エクセルでは、セルをダブルクリ …

Goto メソッド
指定したセルへ移動(Goto メソッド)

指定したセルへ移動 指定したシートの指定したセルへジャンプするには、Goto メ …

オートフィルタの状況を確認(AutoFilterMode, FilterMode)

AutoFilterMode プロパティ AutoFilterMode プロパテ …