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

  関連記事

セルの値を置換(Replace メソッド)

Replace メソッド 任意のセル範囲内から特定の値を一括して置換します。Fi …

非連続のセルが選択されているか確認する(Areas コレクション)

Areas コレクション の使い方 複数の離れた位置にあるセル範囲を選択した場合 …

VerticalAlignment プロパティ 例01
文字列の縦位置を取得・設定する(VerticalAlignment プロパティ)

VerticalAlignment プロパティ VerticalAlignmen …

セルに値を設定する・セルの値を参照する(Value プロパティ)

Value プロパティ Value プロパティは、セルの値を取得したり、値を設定 …

FormulaHidden プロパティ 例1
数式を非表示にする(FormulaHidden プロパティ)

FormulaHidden プロパティ 数式が入力されたセルを選択するとその数式 …

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

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

次の検索(FindNext メソッド,FindPrevious メソッド)

FindNext メソッド Find メソッドで開始された検索を継続します。引数 …

並べ替え(Sort メソッド)

Sort メソッド 任意のセル範囲内で、並べ替えを行います。引数で、並べ替えの条 …

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

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

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

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