Try these functions. Both will find the last Friday and last Monday based on the date passed to it
Code:
Option Explicit
Private Function FindLastMonday(ByVal pintDayOfWeek As VbDayOfWeek, ByVal pdteDateToCheckAgainst As Date) As Date
Do
pdteDateToCheckAgainst = DateAdd("d", -1, pdteDateToCheckAgainst)
Loop Until Weekday(pdteDateToCheckAgainst) = pintDayOfWeek
FindLastMonday = pdteDateToCheckAgainst
End Function
Private Function FindLastFriday(ByVal pintDayOfWeek As VbDayOfWeek, ByVal pdteDateToCheckAgainst As Date) As Date
Do
pdteDateToCheckAgainst = DateAdd("d", -1, pdteDateToCheckAgainst)
Loop Until Weekday(pdteDateToCheckAgainst) = pintDayOfWeek
FindLastFriday = pdteDateToCheckAgainst
End Function
Private Sub Command1_Click()
Text1.Text = FindLastFriday(vbFriday, Format(Now, "mm/dd/yyyy"))
Text2.Text = FindLastMonday(vbMonday, Format(Now, "mm/dd/yyyy"))
End Sub
Bookmarks