我需要将文件保存为以前的工作日的日期。星期一,我需要将文件保存为星期五的日期。
下面是我有:
If FileDate = Weekday(Date, vbMonday) Then Format(DateAdd("d", -3, Date)) = "yyyymmdd" Else FileDate = Format(DateAdd("d", -1, Date), "yyyymmdd")
这是吐出的日期 - 1甚至在星期一。
给它这样的尝试。这将打印文件的正确名称:
Public Sub TestMe()
Dim fileDate As String
If Weekday(Date, vbMonday) = 1 Then
fileDate = Format(DateAdd("d", -3, Date), "yyyymmdd")
Else
fileDate = Format(DateAdd("d", -1, Date), "yyyymmdd")
End If
Debug.Print fileDate
End Sub
编辑:有人指出,我提出与平日的功能结构的错误。添加了“= 1”到如果条件的初始。
早上好kms5549。刚刚测试这一点,它似乎吐出正确的日期。希望这可以帮助,
Dim fileDate As String
If Weekday(Date, vbMonday) = 1 Then
fileDate = Format(DateAdd("d", -3, Date), "yyyymmdd")
Else
fileDate = Format(DateAdd("d", -1, Date), "yyyymmdd")
End If