• ベストアンサー

Exel 2003 にて「今日」を条件にフィルタをかける方法を教えてく

Exel 2003 にて「今日」を条件にフィルタをかける方法を教えてください。 Exel 2007 では日付によるフィルタが簡易にできるようになっているようですが、2003のバージョンでも同様の処理ができないでしょうか。 最終的にはボタン?を押すだけでフィルタがかかるようにマクロも設定したいと思っています。 よろしくお願い致します。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

たとえばA列に日付があってA2以下に実データとすると。 手順1: ALT+F11を押してマクロの画面を出し,挿入メニューから標準モジュールを挿入。 sub macro1() activesheet.autofiltermode = false range("A:A").autofilter field:=1, criteria1:=format(date, range("A2").numberformatlocal) end sub などのように登録します。 勿論,あなたのエクセルの実際の日付の書式が既知であれば,それを正しくマクロに直接組み込んでも構いません。 あなたのエクセルで実際に日付が入っているセル範囲等に合わせて,マクロを手直して使います。 マクロを実行すれば,フィルタがかかります。 手順2: フォームツールバーのコマンドボタン,あるいはオートシェイプの図形で作図したり,簡単なインターネットバナー風画像等をシート上に配置。 右クリックしてマクロの登録を開始,いま用意したMacro1を登録してクリックすれば,いつでも使えます。 将来の応用: 今回のご質問のスコープではありませんので詳細は割愛しますが,マクロの勉強を進めるとブックを開いたときに自動起動するAuto_Openマクロ等に上述のMacro1を(または同じ内容を)実行させて,ブックを開いただけでその日のフィルタの状態になっているといった仕込みも出来るようになります。

sireya
質問者

お礼

マクロ、ボタンの作成により正しく本日分が抽出することができました。 なお、自動起動についても実装できたらいいなと考えておりましたので 非常に参考になりました。 ありがとうございます。

その他の回答 (2)

noname#187541
noname#187541
回答No.3

こんばんは。 オートフィルタでは出来ませんが、フィルタオプションの設定を使えば出来ます。 検索条件を =TODAY() にすればうまくいくと思います。 フィルタオプションの設定が分からない場合は参照URLをどうぞ。

参考URL:
http://www.eurus.dti.ne.jp/~yoneyama/Excel/filter3.htm
sireya
質問者

お礼

フィルタオプションより抽出およびマクロへを反映を行い、 問題なく本日分が抽出することができました。 ありがとうございます。

  • nzh
  • ベストアンサー率0% (0/1)
回答No.2

質問の意味をよく理解できていないかもしれませんが。 Excel表に日付の項目があり、その値がPC日付と一致する行だけを表示するような、フィルタをかけたいということでしょうか。日付が変わってからExcelシートを開いた場合の考慮も必要ですか? フィルタの条件として、関数 TODAY() の値を、 TEXT() で表示形式を指定して設定する方法は利用できないでしょうか。

sireya
質問者

お礼

ご回答ありがとうございます。 “TEXT() で表示形式を指定して設定する”の箇所だけどのようにすればよいのかわからず、 実施できませんでした。。。知識不足で申し訳ございません。 他の方のご回答と合わせ、今一度学んでから実施致します。 ありがとうございました。

関連するQ&A