Re: Function in VBA nutzen
27.06.2003 08:38:34
MikeS
Hier die Function...
Function Feiertag(Datum As Date) As String
Dim j%, D%
Dim O As Date
j = Year(Datum)
'Osterberechnung
D = (((255 - 11 * (j Mod 19)) - 21) Mod 30) + 21
O = DateSerial(j, 3, 1) + D + (D > 48) + 6 - _
((j + j \ 4 + D + (D > 48) + 1) Mod 7)
'Hier ist die osterberechnung eigentlich zu Ende :-))
'O = Das Osterdatum
'Feiertage berechnen
Select Case Datum
Case Is = DateSerial(j, 1, 1)
Feiertag = "Neujahr"
Case Is = DateSerial(j, 1, 6)
Feiertag = "Dreikönig*"
Case Is = DateAdd("D", -2, O)
Feiertag = "Karfreitag"
Case Is = O
Feiertag = "Ostersonntag"
Case Is = DateAdd("D", 1, O)
Feiertag = "Ostermontag"
Case Is = DateSerial(j, 5, 1)
Feiertag = "Erster Mai"
Case Is = DateAdd("D", 39, O)
Feiertag = "Christi Himmelfahrt"
Case Is = DateAdd("D", 49, O)
Feiertag = "Pfingstsonntag"
Case Is = DateAdd("D", 50, O)
Feiertag = "Pfingstmontag"
Case Is = DateAdd("D", 60, O)
Feiertag = "Fronleichnam*"
Case Is = DateSerial(j, 8, 15)
Feiertag = "Maria Himmelfahrt*"
Case Is = DateSerial(j, 10, 3)
Feiertag = "Deutsche Einheit"
Case Is = DateSerial(j, 11, 22) - (DateSerial(j, 11, 18) Mod 7)
Feiertag = "Buß- und Bettag*"
Case Is = DateSerial(j, 10, 31)
Feiertag = "Reformationstag*"
Case Is = DateSerial(j, 11, 1)
Feiertag = "Allerheiligen*"
Case Is = DateSerial(j, 12, 24)
Feiertag = "Heilig Abend*"
Case Is = DateSerial(j, 12, 25)
Feiertag = "EWeihnacht"
Case Is = DateSerial(j, 12, 26)
Feiertag = "ZWeihnacht"
Case Is = DateSerial(j, 12, 31)
Feiertag = "Silvester*"
Case Else
Feiertag = ""
End Select
End Function
Code eingefügt mit Syntaxhighlighter 2.1