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

  関連記事

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

DirectDependents プロパティ DirectDependents …

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

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

対象のセルが配列数式の一部かどうか(HasArray プロパティ)

HasArray プロパティ HasArray プロパティは、対象のセルが配列数 …

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

AutoFilter.ShowAllData メソッド AutoFilter.S …

行の高さを取得・設定・する(RowHeight プロパティ)

RowHeight プロパティ RowHeight プロパティは、対象セルの高さ …

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

Hyperlink オブジェクト Hyperlinks コレクション のメンバー …

文字列の一部の書式を変更(Characters プロパティ)

文字列の一部を参照(Characters プロパティ) Characters プ …

VBA で、ワークシート関数を使用(WorksheetFunction プロパティ)

VBA で、ワークシと関数を使用 VBA から、ワークシート関数を呼び出す場合、 …

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

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

セルの値を置換・書式設定(Replace メソッド,ReplaceFormat プロパティ)

セルの値の置換と書式設定 検索条件に一致するセルの書式を設定するには、まず、Ap …