みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルVBA  「本日」の日付を検索したいのですが

お世話になります。

シートを開いたときに、日付列を検索して本日と同じ日付(日付列に本日と同じ日付がなければ、前日や前々日など、近い日)の一番最初のセルをアクティブにしたいのです。

素人なのですが、教えていただけるでしょうか。



理由ですが、

エクセルで文書受付簿をつくり、利用しています。

受付簿であるシート名 台帳  で受付記録をしているのですが、

別シート  コピー用『前年度』データ   というものを作ってあります。
それは、前年度の受付内容をコピーしたものであり、必要なセルをダブルクリックするとシート  台帳  の最終行に貼り付けるようにVBAを組んでいます。

(毎年同じ件名の文書が来る場合は、ダブルクリックするだけで入力できるので、手間が省けます)


同じ件名の文書は、だいたい同じ時期に来るので、シート  コピー用『前年度』データ   を開いた際に、日付列を検索して本日と同じ日付(日付列に本日と同じ日付がなければ、前日や前々日など、近い日)の一番最初のセルをアクティブにしたいのです。
ただし、まったく同じ日に去年も同じ件名の文書がくるわけではないので、同じ日を抽出するのではなく、検索してセルをそこに合わせるということをしたいのです。


コピー用『前年度』データ   の状況は、
A列は日付です。この日付は、表示は「月日」のみですが、数式バーには2006/4/5と表示されるように、年の情報も入っています。年は無視して、月日だけで検索したいのです。

一日に20件以上受付するので、日付も同じ日が20行近く続いて次の日の受付データに変わります。その日のまとまりの中で、一番上の行に合わせたいのです。

B列は相手先が入っています。

C列は文書の件名が入っています。


つたない説明ですが、お分かりいただけたでしょうか?

よろしくお願いいたします。

投稿日時 - 2007-04-05 17:23:46

QNo.2896647

困ってます

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

こんにちは。横から失礼します。

私もNayuta_Xさんの意見に賛成です。
確かにVBAでやれますが、その必要があるとは思えないし、どうしてもやりたいなら自分で試行錯誤されてから解らない部分を質問されてはどうですか?

>A列の日付は、ほとんど日付順に並んでいます。
>現在は、手動で本日の日付近辺をスクロールして表示させています。
それなら、毎日スクロールして目的のセルをアクティブにして保存すれば少しのスクロールで済むんじゃないですか?そういう手間を全て省きたいならVBAを勉強するっていう手間を惜しまないで下さい。

投稿日時 - 2007-04-06 11:47:09

お礼

確かにおっしゃるとおりです。

VBA辞典を参照はしてみたものの、うまくいかなかったもので質問させていただきました。

もう少し調べて、解決しなければ再度質問したいと思います。

ありがとうございました。

投稿日時 - 2007-04-06 12:06:21

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

追加です。

VBAに、こだわっていませんか?。
エクセルなら、データ⇒並べ替え で、簡単に出来ますよ。

投稿日時 - 2007-04-05 19:17:19

補足

ありがとうございます。

A列の日付は、ほとんど日付順に並んでいます。

現在は、手動で本日の日付近辺をスクロールして表示させています。

その操作の手間を省こうと、VBAなら・・・と思った次第なのです。

投稿日時 - 2007-04-05 19:20:37

ANo.1

いまいち内容が解らないです。

>エクセルで文書受付簿をつくり、利用しています<
>別シート コピー用『前年度』データというものを作ってあります<
とありますが、これらの関連が、不明です。

それとも、これらに関係なく シートを開いたら 今日の日付 または、最新の日付の入った セルをアクティブにすれば、良いのでしょうか??。
それだと、>台帳 の最終行に貼り付けるようにVBAを組んでいます。< が、問題になりそうですね。(見ずらくなりそう)
同じ年月日が、複数あったら どうしたいのですか?。

私だったら、新しいものは、常に 一行目に挿入する方法を考えます。
そうすれば、検索などせずに シートを開けば、直ぐに 解ることですから。

投稿日時 - 2007-04-05 18:28:28

補足

つたない説明で申し訳ありません。

私のイメージでは、

このシート "コピー用『前年度』データ" を開いたときに、
A列にあらかじめ入力されている日付を検索し、パソコンの"本日"と同じ列にセルを合わせて欲しいのです。
(他のシートとの関連はないと思いましたが、念のため質問文に入れてしまいました)


同じ月日が多数あるので、その場合は一番上のセルをアクティブにしたいのです。

また、同じ月日が無い場合は、その近い日(前日や前々日など)をアクティブにしたいのです。

年は去年の年ですので違うのですが、月日だけを検索の対象としたいのです。


この説明でよろしいでしょうか。


よろしくお願いいたします。

投稿日時 - 2007-04-05 19:19:10

あなたにオススメの質問