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

  関連記事

オートフィルタ(平均より上・平均より下)AutoFilter メソッド

平均値よりも大きい(小さい)値のレコードを抽出 AutoFilter メソッドで …

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

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

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

VerticalAlignment プロパティ VerticalAlignmen …

別シートのセルを選択(Goto メソッド / PreviousSelections プロパティ)

Goto メソッド 次の例のように、1 行で、Activate メソッド や S …

終端セルを参照する(End プロパティ)

End プロパティ End プロパティは、基準となるセルが含まれる領域の指定した …

使用中のセル範囲を取得(UsedRange プロパティ)

UsedRange プロパティ UsedRange プロパティは、指定したワーク …

RemoveDuplicates メソッド 使用例1a
重複するデータを削除(RemoveDuplicates メソッド)

RemoveDuplicates メソッド 指定したセル範囲から重複データを含む …

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

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

並べ替え(Sort オブジェクト, SortFields コレクション)

Sort オブジェクトによる並べ替え Excel 2007 以降のバージョンでの …

セル内部を参照(Interior プロパティ)

Interior プロパティ Interior プロパティで、セルの内部を参照し …