Зависит от того, как вы определите свою работу частично.Вы можете использовать EOMONTH, чтобы получить конец месяца, а затем DATEADD, чтобы удалить неделю.Я добавил + 1, чтобы перейти на 7 дней до конечной точки включения.
Option Explicit
Public Sub test()
Dim d As Long
d = CLng(Date)
If d >= DateAdd("ww", -1, Application.WorksheetFunction.EoMonth(d, 0)) + 1 And d <= Application.WorksheetFunction.EoMonth(d, 0) Then
Call yourSub
End If
End Sub
Как функция:
Option Explicit
Public Sub test()
Dim d As Long
d = CLng(Date)
If IsInLastWeek(d) Then
'Call yourSub
MsgBox "We made it!"
End If
End Sub
Public Function IsInLastWeek(ByVal datum As Long) As Boolean
If datum >= DateAdd("ww", -1, Application.WorksheetFunction.EoMonth(datum, 0)) + 1 And datum <= Application.WorksheetFunction.EoMonth(datum, 0) Then
IsInLastWeek = True
End If
End Function