Public Function DateLessOneYear(ByRef R As Range, ByVal Y As Integer)
Application.Volatile
Dim TheDate As Date, TheNewDate As Date
Dim TheYear As Integer, TheMonth As Byte, TheDay As Byte
If Not IsDate(R.Value) Then Exit Function
TheDate = R.Value
TheYear = Year(TheDate) - Y
TheMonth = Month(TheDate)
TheDay = Day(TheDate)
TheNewDate = DateSerial(TheYear, TheMonth, TheDay)
DateLessOneYear = TheNewDate
End Function