【问题标题】:Can I change date to Monday if date equals Saturday or Sunday in Excel VBA Macro如果 Excel VBA 宏中的日期等于星期六或星期日,我可以将日期更改为星期一吗
【发布时间】:2019-06-20 13:27:39
【问题描述】:

当我运行我的 excel VBA 宏时,它会自动将一个名为 temp 的工作表复制到一个格式为“day of week-month-day-year”“ddd-MMM-dd-yyyy”的新工作表中 它将用明天的日期命名这个新标签。 但是当我在周五或周六运行它时,它将使用周六或周日作为日期。 周日运行时,它将使用周一,这很好。

我尝试使用 StackOverflow 帖子中的代码并将其混合到我的代码中,但没有任何运气。 Move next Dateadd to Monday if it falls on Saturday or Sunday 不完全确定如何使它与我的代码一起使用。

ThisWorkbook.Sheets("temp").Copy After:=Sheets(Sheets.Count)
ThisWorkbook.Sheets(Sheets.Count).Name = Format(Date + 1, "ddd-MMM-dd-yyyy")

如果在星期五或星期六运行,我需要它始终使用星期一。

【问题讨论】:

  • 我尝试过使用代码...没有任何运气
  • IOW,向我们展示您的尝试,并解释您所说的“没有任何运气”是什么意思

标签: excel vba


【解决方案1】:
ThisWorkbook.Sheets(Sheets.Count).Name = format(Application.WorksheetFunction.WorkDay(date, 1), "ddd-MMM-dd-yyyy")

【讨论】:

    【解决方案2】:

    你可以试试:

    Sub CopySheet()
    
        Dim strName As String
    
        If Format(Date, "dddd") = "Saturday" Then
            strName = Format(Date + 2, "ddd-MMM-dd-yyyy")
        ElseIf Format(Date, "dddd") = "Sunday" Then
            strName = Format(Date + 1, "ddd-MMM-dd-yyyy")
        End If
    
        ThisWorkbook.Sheets(Sheets.Count).name = strName
    
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-08
      • 2018-03-28
      • 2023-03-28
      • 2021-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多