Msgbox将在2月VBA的第一个工作日弹出



我想在每年二月的第一个工作日设置一次提示。我对此不是很擅长,只能将其硬编码为固定日期,当用户打开文件时它会不断弹出

Dim Dte As String
Dim wbmain as Workbook
Dim wsp As Worksheet
Private Sub Workbook_Open()
Set wbmain = ThisWorkbook
Set wsp = wbmain.Worksheets("Path")
Dte = Format(Now(), "dd mmmm")
If Dte = "02 February" Then
    MsgBox "Please Change Paths"
    wsp.Activate
End Sub

我希望"请更改路径"仅在每年2月的第一个工作日弹出一次,可以吗?

您将收到

二月每个第一个工作日的消息框,不取决于年份:

Sub tst()
    Dte = Format(Now(), "dd mmmm yyyy")
    If Dte = CDate(Application.WorkDay(DateSerial(Year(Now()), Month("19/02/2019"), 0), 1)) Then
                 MsgBox "Please Change Paths"
    End If
 End Sub

要测试它,请尝试此操作

Sub tst()
Dte = Format("01/02/2019", "dd mmmm yyyy")
If Dte = CDate(Application.WorkDay(DateSerial(Year(Now()), Month("19/02/2019"), 0), 1)) Then
             MsgBox "Please Change Paths"
    End If
End Sub

这里的"现在"将是01/02/2019,因此该月的第一个工作日,您将收到消息框!

注意:在您的示例中,"02/02/2019"是周末,因此不是工作日

最新更新