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

  関連記事

外枠罫線の設定(BorderAround メソッド)

外枠罫線の設定 罫線の設定には、Borders プロパティを使用しますが、範囲内 …

入力規則(他セルや数式を利用して許容値を設定)Validation オブジェクト

他のセルや数式を利用して許容値を設定する 入力規則(その5) での設定を、マクロ …

セル・セル範囲をコピーする(Copy メソッド)

Copy メソッド Copy メソッドは、セル範囲をコピーし、指定したセル範囲に …

フリガナ(Phonetic プロパティ)

Phonetic プロパティ 文字列(漢字など)をキーボードから入力した時の「読 …

Active メソッド 例01
セルをアクティブにする・セルを選択する(Activate, Select)

セルをアクティブにする・選択する 【書式:セルをアクティブにする】 object …

セルのアドレスを確認(Address プロパティ)

Address プロパティ Address プロパティ・AddressLocal …

Height プロパティ Width プロパティ 例
セルの高さ・幅を取得(Height プロパティ・Width プロパティ)

Height プロパティ・Width プロパティ Height プロパティは、指 …

任意の行または列を参照(Rows プロパティ,Columns プロパティ)

Rows プロパティ・Columns プロパティ Rows プロパティは、オブジ …

セルの特定の要素のみをペーストする(PasteSpecial メソッド)

PasteSpecial メソッド PasteSpecial メソッドは、Cop …

数式を設定・取得する(Formula プロパティ・FormulaR1C1 プロパティ)

Formula プロパティ(FormulaR1C1 プロパティ) Formula …