【问题标题】:Getting Date of Monday of each week获取每周星期一的日期
【发布时间】:2014-07-24 02:47:19
【问题描述】:

我想获取每周星期一的日期。我正在使用该日期打开每周一创建并根据日期命名的文件夹。我尝试使用 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

【问题讨论】:

  • 你为什么不向我们展示你迄今为止所尝试的?
  • 我已经添加了代码。
  • 似乎是什么问题?你的代码看起来不错。您能否描述一下您是如何尝试使用它的,以及您的具体问题/挑战是什么?
  • 没有错。我只是想知道是否有更好的方法来做到这一点。

标签: datetime excel weekday vba


【解决方案1】:

如果 DT 是任何日期,并且如果 DT 是星期一,如果您想返回相同的日期,那么,使用 VBA:

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

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

=A1+1-WEEKDAY(A1-1)

【讨论】:

    【解决方案2】:

    A1中输入:

    2014 年 1 月 6 日

    A2中输入:

    =A1 + 7
    

    复制下来

    【讨论】:

      猜你喜欢
      • 2019-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多