获取每周的星期一日期

时间:2014-06-03 16:51:17

标签: datetime excel-vba weekday vba excel

我希望每周都能获得星期一的日期。我使用该日期打开每周一创建的文件夹,并根据日期命名。我尝试使用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

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:0)

A1 中输入:

2014年1月6日

A2 中输入:

=A1 + 7

并复制