今天是 2013 年 2 月 27 日,星期三。 我需要一个公式,该公式将返回上周一的日期。即 (02/17/2013)
我需要这样才能在发送电子邮件的 vba 代码中使用文件名或电子邮件主题。
With oMail
'Uncomment the line below to hard code a recipient
.To = "myemail@email.com"
'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"))
返回 2013 年 2 月 18 日(这是星期一,而不是 17 日)
关于vba - 上周一的日期 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15116513/