ExcelWork.info

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

オートフィルタ(日付による抽出)AutoFilter メソッド

   

日付で、抽出する(AutoFilter メソッド)


【書式】

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


引数・戻り値

  • object  ・・・  対象となる Range オブジェクトを指定します。
  • field  ・・・  フィルターの対象となるフィールド番号を整数で指定します。対象となる範囲の最も左側の列(フィールド)が、フィールド番号 1 になります。
    複数の列(フィールド)をまとめて扱いたい場合は、配列を指定することも可能です。
     (例)field := Array(1,3,6)
  • criteria1  ・・・  日付を指定します。
  • criteria2  ・・・  複数(2日)の日付を指定したり、特定の期間を指定する場合にのみ日付を指定します。指定方法は、operator の説明を参照してください。
  • operator  ・・・  特定の日付(1日)を指定する場合は、xlAndxlOr を指定します(省略可)。
    複数(2日)の日付を指定する場合は、xlOr を指定し、引数 criteria1criteria2 に抽出したい日付を指定します。
    特定の期間の抽出をする場合は以下のとおりに指定します。

    引数 内容
    criteria1 “>= [開始日]” または、“> [開始日]” を指定します。
    criteria2 “<= [終了日]” または、“< [終了日]” を指定します。
    operator xlAnd を指定します。



    ※ 3日以上の日付を指定する場合は、xlFilterValues を指定します(Excel 2007 以上のみ)。引数 criteria1 に抽出したい日付を配列で指定します。



日付を指定する場合の注意事項
オートフィルタで、レコードを抽出するとき日付によって絞り込む場合、Excel のバージョンによって抽出結果が、異なる場合があります。以下の表のとおりに行うと期待通りの結果が得られるはずですが、念のため、マクロの記録等などで、確認するほうがよいかもしれません。

セルの表示形式 Excel Ver. 引数 criteria1 に指定する内容
先頭に「*」が付く日付形式
  2015/7/26
 
 
 
2003/2007
 
 
 
 
DateValue 関数を指定
  criteria1 := DateValue(“2015/7/26”)
 または
日付リテラルを指定
  criteria1 := #7/26/2015#
先頭に「*」が付く日付形式
  2015/7/26
2010/2013
 
文字列形式で指定
  criteria1 := “2015/7/26”
先頭に「*」が付かない日付形式
  7月26日
2003/2007
2010/2013
セルに表示されているままを文字列で指定
  criteria1 := “7月26日”



日付を指定する場合、すべてのバージョンで同じ結果を得る方法
「特定の期間」を抽出する方法を利用することで、書式にかかわらず、Excel 2003/2007/2010/2013 のいずれのバージョンでも特定の日付を抽出可能です。
(例)2015/7/26 を抽出したい場合
  criteria1 =: “>=2015/7/26”
  criteria2 =: “<=2015/7/26”
  operator =: xlAnd


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



日付で抽出する 使用例

サンプルVBAソース 実行前

AutoFilter メソッド 日付1



サンプルVBAソース 1


実行結果

AutoFilter メソッド 日付1 1 



サンプルVBAソース 2


実行結果

AutoFilter メソッド 日付1 2



サンプルVBAソース 3


実行結果

AutoFilter メソッド 日付1 3



サンプルVBAソース 4


実行結果

AutoFilter メソッド 日付1 4



サンプルVBAソース 5


実行結果

AutoFilter メソッド 日付1 5


 - セルの操作 , , , ,

Message

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

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

  関連記事

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

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

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

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

セルの位置を取得(Left プロパティ、Top プロパティ)

Left プロパティ・Top プロパティ Left プロパティは、「A列」の左端 …

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

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

文字の向きを表す値を取得・設定する(Orientation プロパティ)

Orientation プロパティ Orientation プロパティで、文字列 …

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

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

StandardWidth プロパティ・StandardHeight プロパティ 例01
セル幅・高さの既定値(StandardHeight プロパティ・StandardWidth プロパティ)

StandardHeight プロパティ・StandardWidth プロパティ …

オートフィルタ(色で抽出する)AutoFilter メソッド

オートフィルタ(色で抽出する) フォントの色、セルの背景色(条件付き書式による設 …

セル範囲を結合・結合を解除(Merge メソッド・UnMerge メソッド)

Merge メソッド・UnMerge メソッド セルを結合するには、指定したセル …

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

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