2016-05-17 2 views
1

ここで起こっていることを助けてください - 私はそれが愚かだと知っていますが、私は知りたいと思います。VBAで2つの日付を追加するとどうなりますか

次のコードの出力はApril-18-2105です。どのようにポップアップしたのですか?

Private Sub CommandButton1_Click() 
Dim firstDate As Date, secondDate As Date 

firstDate = DateValue("Jun 19, 2010") 
secondDate = DateValue("oct 29,1994") 

MsgBox (firstDate + secondDate) 
End Sub 

ありがとうございます!

答えて

2

日付が実際の数値として格納され、私たちはこれらの日付の数値を見ればされている日として1900年1月1日を使用しています。

CLng(datevalue("Jun 19, 2010")) '// 40348 
CLng(datevalue("oct 29, 1994")) '// 34636 

と追加しますそれらを一緒:

40348 + 34636 = 74984 

と日付にその数バック変換:

CDate(74984) '// 18/04/2105 

00/01/1900の後74,984日ですので

0

日付はdd/mm/yyyyと書かれた数字ですが、私はそれが31/12/1899からの日だと思います。結果は40348 + 34636 = 74984となり、18/04/2105となります。

0

Excelは、指定された日付の後の日数として日付を格納します。このように、2010/06/19の日付を表す整数は40348であり、1994/10/29を表す整数は34636です。それらの整数を一緒に追加すると、2105/04/18を表す整数である74984が得られます。

基準日はmac to windowsから異なります。私は窓で走っており、基準日の設定を変更しませんでした。その整数はどこから来ましたか。 Macが1日目として1月2 1904を使用し、Windowsが1

関連する問題