Here's a vba function that may serve your purpose.
Code:
' Purpose: To find the nearest Saturday to a supplied Date
' Procedure Kind: Function
' Procedure Access: Public
' Parameter inputDate (Date): Supplied Date
' Return Type: String
' Author: Jack
' Date: 02-Mar-25
' ----------------------------------------------------------------
Function NearestSaturday(inputDate As Date) As String
Dim difference As Integer
' Calculate the difference in days from Saturday (7th day of the week)
difference = 7 - Weekday(inputDate, vbSunday)
' If difference is greater than 3, subtract days to go back, otherwise add days to go forward
If difference > 3 Then
NearestSaturday = inputDate - (7 - difference)
Else
NearestSaturday = inputDate + difference
End If
' Return the calculated Saturday in format "dddd, dd mmm yyyy"
NearestSaturday = Format(CDate(NearestSaturday), "dddd, dd mmm yyyy")
End Function
Sample output:
?NearestSaturday(Date + 396)
Saturday, 04 Apr 2026