'Format: L = Long date
Sub GetEasterSunday(Year As Long, Format As String) As String
Private C, I, J, H, G, L As Int
Private D, M As Long
Private Month() As String
Month = Array As String("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")
G = Year Mod 19
C = Year/100
H = ((C - (C / 4) - (8 * C + 13) / 25) + 19 * G + 15) Mod 30
I = H - (H / 28) * (1 - (H / 28) * (29 / (H + 1))*((21 - G) / 11))
J = (Year + (Year / 4) + I + 2 - C + (C / 4)) Mod 7
L = I - J
M = 3 + ((L + 40) / 44)
D = L + 28 - 31 * Floor(M / 4)
If Format.ToUpperCase = "L" Then
Return (Month(M - 1) & " " & D & ", " & Year)
Else
Return (M & "/" & D & "/" & Year)
End If
End Sub