今天是 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/

10-09 05:04