我想在每年2月的第一个工作日设置一次提示。我对此不太满意,只能将其硬编码为固定日期,并且当用户打开文件时它将不断弹出
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月的第一个工作日才弹出一次?
答案 0 :(得分:0)
您将在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
这里“现在”将是2019年2月1日,因此该月的第一个工作日,您将收到消息框!
注意:在您的示例中,“ 02/02/2019”是工作日的结束日,而不是工作日