今天是 2013 年 2 月 27 日,即温斯节。
我需要一个公式来返回上一个星期一的日期。这将是 (02/17/2013)
我需要这样我才能在发送电子邮件的 vba 代码中使用文件名或电子邮件主题。
With oMail
'Uncomment the line below to hard code a recipient
.To = "[email protected]"
'Uncomment the line below to hard code a subject
.Subject = "Current Report"
.Attachments.Add WB.FullName
.Display
End With
最佳答案
Public Function LastMonday(pdat As Date) As Date
LastMonday = DateAdd("ww", -1, pdat - (Weekday(pdat, vbMonday) - 1))
End Function
Weekday(yourdate, vbMonday) 星期一返回 1,星期二返回 2,依此类推
pdat - (Weekday(pdat, vbMonday) - 1)
通过从过去的日期中减去 Weekday()-1 # 天,将为我们提供最近的星期一。
DateAdd("ww", -1, ...)
从该日期减去一周。
LastMonday(cdate("2/27/13"))
返回 2/18/2013(即星期一,而不是 17 日)
关于vba - 上周一 Excel 的日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15116513/