Tilføje helligdagsnavn på kalender
Jeg bruger nedenstående kode til at definere lørdage, søndage samt helligdage. Kan jeg tilføje noget i koden, så jeg i min kalender også kan vise selve navnet på helligdagen i en anden celle, som så selvfølgelig henviser til den dato, hvor datoen figurerer?***************
Function ErHelligdag(ByVal TestDato As Long, _
Optional ByVal InclLørdage As Boolean = True, _
Optional ByVal InclSøndage As Boolean = True) As Boolean
Dim InputYear As Integer, PD As Long, OK As Boolean
If TestDato <= 0 Then TestDato = Date
InputYear = Year(TestDato)
PD = Påskedag(InputYear)
OK = True
Select Case TestDato
Case DateSerial(InputYear, 1, 1) ' Nytårsdag
Case PD - 7 ' Palmesøndag
Case PD - 3 ' Skærtorsdag
Case PD - 2 ' Langfredag
Case PD ' Påskedag
Case PD + 1 ' 2. påskedag
Case PD + 26 ' St. Bededag
Case PD + 39 ' Kristi Himmelfartsdag
Case PD + 49 ' Pinsedag
Case PD + 50 ' 2. Pinsedag
Case DateSerial(InputYear, 12, 25) ' Juledag
Case DateSerial(InputYear, 12, 26) ' 2. Juledag
Case DateSerial(InputYear, 12, 31) ' Nytårsaftensdag
Case Else
OK = False
If InclLørdage Then
If Weekday(TestDato, vbMonday) = 6 Then
OK = True
End If
End If
If InclSøndage Then
If Weekday(TestDato, vbMonday) = 7 Then
OK = True
End If
End If
End Select
ErHelligdag = OK
End Function
Function Påskedag(InputYear As Integer) As Long
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
