- 締切済み
エクセルVBA 日付の評価、大小を比べるには
エクセルのセルに日付データーが入っています。 その値を取得して、他のセルに入っている日付と比べたいのですが、 日付データをどの形に変換して比べればいいか分かりません。 ___|_____A_________|_____B___________|______C_____ 1_|_2007/6/1__|__2007/7/1__|____________ 2_|_2007/7/1__|__2007/7/23_|____________ 例えば上の表があったとして、A列とB列にある日付を比べて、大きい 方をC列に記入するということをVBAでしようとするとき、セルに入って いるデーター形式をどの形に変換して評価すればいいでしょうか? 日付データーをシリアル値に変換する方法とかあるのでしょうか? どなたか教えていただけないでしょうか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
回答No.1
エクセルのセルの値として、日付を入力して、設定されてあれば、そのセルの値は、日付シリアル値という正整数です。意味は1900年1月1日からの実際の何日目かの数字です。ですから日付の比較は 日付セルの「値」(Value)の比較でよいのです。この考えが身についてないと、日付の表示形式などに惑わされるのか、この質問のようなことになる。普通に大小関係の比較でよい。 >データー形式をどの形に変換して評価すればいいでしょうか そんな大げさなこと一切なし。 片一方が西暦表示で、片一方が年号表示でもそのまま引けば、日数が出る。文字列で入れるような琴をしていれば別です ーー エクセルVBAをやるなら、VB的なことばかりでなく、エクセル固有の ことも勉強しないと。
お礼
おお~ そのままで比べられるのですね。 ありがとうございます。 セルの値をそのまま取得して、比較したら、出来ました。 ありがとうございます。 お騒がせしました。