• ベストアンサー

エクセルのオートフィルタの条件にセルの値を入れる。

エクセルのオートフィルタを使用した際、条件の中に【A月B日以上】【C月D日以下】としたいのですが、その【A月B日】【C月D日】を、それぞれあるセルに入力した値にしたいのですが、どのようにやればよいですか? 当然、毎回日付は変更します。 マクロでできる方法を教えて下さい。 よろしく御願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

A列に日付データがあり、C1,D1,E1,F1がそれぞれA、B、C、Dに対応している場合 Columns("A:A").AutoFilter 1, ">=" & DateValue(Range("C1") & "/" & Range("D1")) _ , xlAnd, "<=" & DateValue(Range("E1") & "/" & Range("F1"))

pc-cad
質問者

お礼

うまくいきました。 参考になりました。

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

作業列を作って対応します。 例えばA1セルに日付と文字が入力されており下方に日付が入力されているとします。B1セルには抽出選択とでも入力します。 C1セルにはA月の相当する月を数値で、D1セルにはB日に相当する日を数値で、C2セルにはC月に相当する月を数値で、D2セルにはD日に相当する日を数値でそれぞれ入力します。 その後にB2セルには次の式を入力して下方にオートフィルドラッグコピーします。 =IF(AND(A2>=DATE(2012,C$1,D$1),A2<=DATE(2012,C$2,D$2)),1,"") 該当する日付の行には1が表示されますのでB列を主体にフィルタで1を選択すればよいでしょう。

pc-cad
質問者

お礼

参考になりました。 ありがとうございました。