Sub test_1()
Dim DateStr As Byte
If DateStr = Day(DateSerial(Year(Date), Month(Date) + 1, 0)) Then '当datestr是本月最后一天的时候再执行msgbox,很明显你这里datestr没有赋值(也就是默认值0),而本月的最后一天不可能是0。所以永远是不能执行IF语句中True的结果的。
MsgBox "本月最后一天"
End If
End Sub
如果你想直接让提示最后一天,那直接写
Sub test_1()
MsgBox "本月最后一天" & Day(DateSerial(Year(Date), Month(Date) + 1, 0))
End Sub