我試圖讓日期比現在老4天。這裏是我的代碼VBA不能從日期減去日期
Sub calcdate()
Dim nDateTime, oDateTime As Date
nDateTime = Format(Now, "YYMMDD")
oDateTime = Format(DateAdd("d", -4, nDateTime), "YYMMDD")
MsgBox ("Today is " & nDateTime & " And OldDate is " & oDateTime)
End Sub
但輸出 '今天是170604和OldDate是02-10-3734」
我試圖做到這一點,而不使用DateAdd
nDateTime = Format(Now, "YYMMDD")
oDateTime = nDateTime - 4
*輸出' 今天是170604和OldDate是170604'
我想這些變化
nDateTime = Format(Now, "YYMMDD")
oDateTime = DateAdd("d", -4, nDateTime)
*輸出 '今天是170604和OldDate是31-01-2367'
nDateTime = Format(Now, "YY-MM-DD")
oDateTime = Format(DateAdd("d", -4, nDateTime), "YY-MM-DD")
*輸出 '今天是17-06-04而OldDate是2013年4月6日'
所以它似乎在這裏是減去幾年,雖然我把「d」。
最後一件事,我想:
nDateTime = Format(Now, "DD-MM-YY")
oDateTime = Format(DateAdd("d", -4, nDateTime), "DD-MM-YY")
*輸出「今天是17年4月6日和OldDate是31-05-2017」 我想這個日期,格式爲170531,還何必當初呢給我2017年,而我只選擇格式YY?
這個工作,感謝@Absinthe '昏暗oDateTime截止日期 oDateTime =現在 - 4 MSGBOX( 「OldDate是」 &格式(oDateTime,「YYMMDD」))' 我知道它可能不是最佳的,但這不是原來的代碼,我會用它來做別的事情,所以這是足夠的。 關於聲明,我相信我可以在我的代碼中聲明它們,我在msdn上檢查它,並且它無論如何都可以工作 [https://msdn.microsoft.com/en-us/library/office/gg264241.aspx] –
@ i.fathy-在VBA中,每個變量聲明都需要一個類型(除非你希望它是Variant)。你不能只是把'As something'放在變量列表的末尾 –
謝謝,我的壞話,明白了。 –