0

我想获得每周星期一的日期。我正在使用该日期打开每周一创建并根据日期命名的文件夹。我尝试使用 weekday() 函数。但我不确定如何进行。谢谢您的帮助!这是我尝试过的,它有效。但我只是想知道是否有更有效的方法来做到这一点?

Sub test()

Dim myday As Integer
Dim mydate As Date
mydate = Date
myday = Weekday(Date, vbMonday)

If myday = 1 Then

mydate = Date

ElseIf myday = 2 Then
mydate = DateAdd("d", -1, Date)

ElseIf myday = 3 Then
mydate = DateAdd("d", -2, Date)

ElseIf myday = 4 Then
mydate = DateAdd("d", -3, Date)

ElseIf myday = 5 Then
mydate = DateAdd("d", -4, Date)

End If

End Sub
4

2 回答 2

3

如果 DT 是任何日期,并且如果 DT 是星期一,则如果要返回相同的日期,则使用 VBA:

Function FirstMonday(DT As Date) As Date
    FirstMonday = DT - Weekday(DT, vbMonday) + 1
End Function

或者,在您的工作表上,使用 A1 中的日期:

=A1+1-WEEKDAY(A1-1)
于 2014-06-03T17:15:34.063 回答
0

A1中输入:

2014 年 1 月 6 日

A2中输入:

=A1 + 7

并抄下来

于 2014-06-03T16:55:18.630 回答