格式化()日期

时间:2015-06-05 18:41:27

标签: excel vba excel-vba

我正在尝试Format DateDate始终是一周前的。filename = Format(Date - (Weekday(Date) - 7) + 3, "mm-dd-yy") 。我试过的是:

Board

但是我得到一个编译错误:错误的参数数量或无效的属性赋值。我不确定+3的意思是什么,因为我没有写这一行,但我在等待对这个问题的回复。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我将在上面发表评论: 通常在VB中,如果你无法理解某些东西,你可能会把它变得太复杂:p

您可以避免上面提到的(相当粗略的)日期减法/ +3代码,并使用now()提高可读性。

试试这个: Format(DateAdd("d", -7, now()), "mm-dd-yy")

这是做什么的: now()当然是当前日期。

DateAdd("d",-7,now())会做你想做的事,从当前日期开始一周(减去7天。DateAdd()应该照顾讨厌的日历月)

将其包含在Format()中只会格式化您想要的日期,即“mm-dd-yy”

希望这有帮助,

-Cptn

请参阅Formatting dates in VBA