Avatar billede Chewie Novice
18. juni 2004 - 11:43 Der er 6 kommentarer og
3 løsninger

Hvornår er det påske

Dette bliver nok lidt af en udfordring :o)

Er det muligt at lave en makro det kan fortælle mig hvornår det er påske ?

eks.
Hvis A1 er 2004 vis datoen på skærtorsdag i A2
A1 = 2004
A2 = 08-06-2004

kriterier for hvornår påsken falder kan findes her: http://www.emu.dk/gym/fag/as/inspiration/uvforloeb/paaske.html

Trikket er så at finde ud af hvornår det er "Paschal fuldmånen"

Nogle der tør prøve :o)

//SRK
Avatar billede Chewie Novice
18. juni 2004 - 11:44 #1
hvis der findes noget på andre programmeringsporg kan det måske være en hjælp.
Avatar billede falster Ekspert
18. juni 2004 - 11:51 #2
Function SkærTorsdag(HvilketÅr As Integer) As Date
    Dim d As Integer
    d = (((255 - 11 * (HvilketÅr Mod 19)) - 21) Mod 30) + 21
    SkærTorsdag = DateSerial(HvilketÅr, 3, 1) + d + (d > 48) + 3 - ((HvilketÅr + HvilketÅr \ 4 + _
        d + (d > 48) + 1) Mod 7)
End Function
Avatar billede falster Ekspert
18. juni 2004 - 11:54 #3
I øvrigt: En funktion, som får skærtorsdag i år til at være den 8. juni, som du skriver ovenfor, vil jeg ikke anbefale :-)
Avatar billede kabbak Professor
18. juni 2004 - 12:03 #4
her er en med alle  helligdage

Function Påskedag(InputYear As Integer) As Long ' Returnerer datoen for Påskedag
Dim d As Integer
    d = (((255 - 11 * (InputYear Mod 19)) - 21) Mod 30) + 21
    Påskedag = DateSerial(InputYear, 3, 1) + d + (d > 48) + 6 - _
        ((InputYear + InputYear \ 4 + d + (d > 48) + 1) Mod 7)
End Function

Function HelligdagsNavn(lngdate As Long) As String
' bruger funktionen Påskedag
Dim InputYear As Integer, PD As Long, OK As Boolean
    If lngdate <= 0 Then lngdate = Date
    InputYear = Year(lngdate)
    PD = Påskedag(InputYear)
      OK = True
    Select Case lngdate ' Tester nedenstående påstande mod datoen
        Case DateSerial(InputYear, 1, 1): HelligdagsNavn = "Nytårsdag"
        Case PD - 3: HelligdagsNavn = "Skærtorsdag"
        Case PD - 2: HelligdagsNavn = "Langfredag"
        Case PD: HelligdagsNavn = "Påskedag"
        Case PD + 1: HelligdagsNavn = "2. Påskedag"
        Case DateSerial(InputYear, 6, 5): HelligdagsNavn = "Grundlovsdag"
        Case PD + 26: HelligdagsNavn = "Store Bededag"
        Case PD + 39: HelligdagsNavn = "Kristi Himmelfartsdag"
        Case PD + 49: HelligdagsNavn = "Pinsedag"
        Case PD + 50: HelligdagsNavn = "2. Pinsedag"
        Case DateSerial(InputYear, 12, 24): HelligdagsNavn = "Julaftensdag"
        Case DateSerial(InputYear, 12, 25): HelligdagsNavn = "1.Juledag"
        Case DateSerial(InputYear, 12, 26): HelligdagsNavn = "2.Juledag"
        Case DateSerial(InputYear, 12, 31): HelligdagsNavn = "Nytårsaftensdag"
        Case Else
      End Select
        OK = False
End Function

kaldes med
=HelligdagsNavn(D5)
hvor D5 er en dato
Avatar billede bak Forsker
18. juni 2004 - 12:35 #5
som en almindelig formel
=(ROUND((DAY(MINUTE(A1/38)/2+55) &"-4-" & A1)/7;)*7-6)-3

dk
=(AFRUND((DAG(MINUT(A1/38)/2+55) &"-4-" & A1)/7;)*7-6)-3
Avatar billede bak Forsker
18. juni 2004 - 12:45 #6
PS. den finder skærtorsdag, men er beregnet til at finde påskesøndag. Det er det sidste -3 der giver torsdag.
Virker kun efter 1900 pga. af excels datoformater.
Avatar billede Chewie Novice
18. juni 2004 - 12:52 #7
Mange tak for hjælpen ... smid nogle svar så i kan dele points :)

God weekend
Avatar billede bak Forsker
18. juni 2004 - 13:02 #8
ok :-)
Avatar billede kabbak Professor
18. juni 2004 - 13:09 #9
ok ;-))
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Stort udvalg af Excel kurser til alle niveauer og jobfunktioner

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester