Sub FindClosestMatch()
DateVal = 25
Range("A1:A1000").Sort Key1:=Range("A1"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
MinVal = Cells(Application.WorksheetFunction.Match(DateVal, Range("A1:A1000"), -1), 1)
Range("A1:A1000").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
MaxVal = Cells(Application.WorksheetFunction.Match(DateVal, Range("A1:A1000"), 1), 1)
If MinVal - DateVal > DateVal - MaxVal Then
FinalVal = MaxVal
Else
FinalVal = MinVal
End If
MsgBox (FinalVal)
End Sub