Thanks Paul. You made me realize that my reply wasn't right.
Function LastAprilFools() As Date
'If After Apr 1, returns this year's Apr 1 date, else Last year's.
If Date > CDate(Format(Date, "1-4-yyyy")) Then
LastAprilFools = CDate(Format(Date, "1-4-yyyy"))
Else
LastAprilFools = CDate(Format(DateAdd("y", -1, Date), "1-4-yyyy"))
End If
End Function
And here is a universal function
Function AnyAprilFirst(SomeDate As Date) As Date
'Returns April 1 of year given in SomeDate
AnyAprilFirst = CDate(Format(SomeDate, "1-4-yyyy"))
End Function