将文件保存为以前的工作日的日期

问题描述 投票:1回答:2

我需要将文件保存为以前的工作日的日期。星期一,我需要将文件保存为星期五的日期。

下面是我有:

If FileDate = Weekday(Date, vbMonday) Then Format(DateAdd("d", -3, Date)) = "yyyymmdd" Else FileDate = Format(DateAdd("d", -1, Date), "yyyymmdd")

这是吐出的日期 - 1甚至在星期一。

excel vba if-statement dateadd weekday
2个回答
2
投票

给它这样的尝试。这将打印文件的正确名称:

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
投票

编辑:有人指出,我提出与平日的功能结构的错误。添加了“= 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
© www.soinside.com 2019 - 2024. All rights reserved.