问题描述
这是来自 vba Direct Run 窗口的结果。 上面截图中没有操作。 我的Excel疯了吗? 有人请说服我。 谢谢。
解决方法
这不是DateAdd
的错,而是你自己不知道Now
和Format
做了什么。
Now
包含一个 时间部分,您可以使用 Format
和“#”(或“0”)向上或向下舍入。
所以,使用 Date
:
DateBeforeYesterday = DateAdd("d",-2,Date)
,
Excel 将日期/时间值表示为实数。小数点左边的部分是自 1899 年 12 月 30 日以来的天数。
? Format(0,"mm/dd/yyyy")
12/30/1899
小数部分是一天的小数。
? format(.25,"hh:mm ampm")
06:00 AM
? format(.75,"hh:mm ampm")
06:00 PM
以下表达式是等价的。
dt = DateAdd("d",dateVal)
dt = dateVal - 2