5倍速!メールマガジン
外部アカウントで登録
             
         
    
受講生の声
新着の講座投稿
新着の講座コメント
新着のノート投稿
投稿一覧へ新着のノートコメント
表示できる投稿はありません。
サイト運営者紹介
 
        小川 慶一講師/教材/システム開発者紹介
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
 
                             
                             
                             
                         
         
    
表示できる投稿はありません。
 
        この学習サイトの教材制作、サポート、システム開発をすべてやっています。
 
rozario980さんの投稿
(投稿ID: 4471)
いつも大変楽しく勉強させていただきております。
ウォーミングアップ問題1についての質問です。
私は以下のようなコードを書いたのですが、小川先生と同じ日付が出ました。
こちらの方が簡素でいいと思ったのですが、このコードでも問題はないですか?
Sub mondai1()
Worksheets("Sheet3").Range("A1").Value = Date + 3
End Sub
小川 慶一さんのコメント
(コメントID: 6165)
エクセルVBAでは、日付は、内部的には小数で扱っています。
日付として出力するときに日付に変換しています。
以下、参考にしてください。
出力される結果は、以下です。
0
43578
43578.25
43578.75
43581
上記のとおり、 + 3 とすれば元の日付から見て、ちょうど3日あとになります。
ただし、このやり方しか使いこなせないとなると、「2時間前はどう表現するのか?」とか「35分後」といった、60進法的処理の記述に行き詰まってしまいますね。
ということで、この機会に、DateAdd関数をしっかりマスターされるほうが良いかと思います。
> 小川さん
> いつも大変楽しく勉強させていただきております。
>
> ウォーミングアップ問題1についての質問です。
> 私は以下のようなコードを書いたのですが、小川先生と同じ日付が出ました。
> こちらの方が簡素でいいと思ったのですが、このコードでも問題はないですか?
> Sub mondai1()
> Worksheets("Sheet3").Range("A1").Value = Date + 3
> End Sub
>
rozario980さんのコメント
(コメントID: 6166)
解説ありがとうございます。
日付を内部的に少数で扱っていることは知りませんでした。
やはりゆくゆくは、5分後、10分後、30分後を表示できるようになりたいので、この機会にDateAdd関数を勉強したいと思います。
> ゲストさん:
>
> エクセルVBAでは、日付は、内部的には小数で扱っています。
> 日付として出力するときに日付に変換しています。
>
> 以下、参考にしてください。
>
>
>
> 出力される結果は、以下です。
> 0
> 43578
> 43578.25
> 43578.75
> 43581
>
> 上記のとおり、 + 3 とすれば元の日付から見て、ちょうど3日あとになります。
> ただし、このやり方しか使いこなせないとなると、「2時間前はどう表現するのか?」とか「35分後」といった、60進法的処理の記述に行き詰まってしまいますね。
>
> ということで、この機会に、DateAdd関数をしっかりマスターされるほうが良いかと思います。
>
>
> > 小川さん
> > いつも大変楽しく勉強させていただきております。
> >
> > ウォーミングアップ問題1についての質問です。
> > 私は以下のようなコードを書いたのですが、小川先生と同じ日付が出ました。
> > こちらの方が簡素でいいと思ったのですが、このコードでも問題はないですか?
> > Sub mondai1()
> > Worksheets("Sheet3").Range("A1").Value = Date + 3
> > End Sub
> >