VBA Tipp: Weitere Datumsberechnungen (Buss- und Bettag)
Aus DBWiki
Problem
Die Osterformel liefert mir nicht alle Feiertage, so fehlt mir z.B. der Buß- und Bettag.
Lösung:
Hier noch ein paar weitere Feiertagsfunktionen:
Public Function BussUndBettag(ByVal Jahr As Long) As Date ' ' Buss- und Bettag: ' am Mittwoch vor dem letzten Sonntag im Kirchenjahr ' Dim T As Long, D As Date For T = 16 To 22 D = DateSerial(Jahr, 11, T) If WeekDay(D) = vbWednesday Then BussUndBettag = D Exit Function End If Next T End Function Public Function Knabenschiessen(ByVal Jahr As Long) As Date ' ' Ein Festtag in Zürich: ' am 2. Montag nach einem kompletten Wochenende im September ' Dim D As Date, I As Long For I = 9 To 15 D = DateSerial(Jahr, 9, I) If WeekDay(D) = vbMonday Then Knabenschiessen = D Exit For End If Next I End Function Public Function BussUndBettagSchweiz(ByVal Jahr As Long) As Date ' ' In der Schweiz: ' am 3. Sonntag im September ' Dim D As Date, I As Long For I = 15 To 21 D = DateSerial(Jahr, 9, I) If WeekDay(D) = vbSunday Then BussUndBettagSchweiz = D Exit For End If Next I End Function