Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1028to1032
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Funktion Jahreszeiten-Feiertage

Funktion Jahreszeiten-Feiertage
08.12.2008 12:50:00
angeldust
Hallo möchte eine Funktion mit VBA erstellen...
vielleicht hat ja jemand hier eine schon fertige...
also ich habe zwei Dateneingaben in einem Formular ich will dann dass in einem 3ten Feld als Text sowas wie Ostern , Weihnachten, Sommer, Herbst stehet... oder kein für kein Feiertag soll aber nicht jeden Feiertag "absuchen" sondern nur die genannten.
zB wenn ich eingebe start:10.12.xxxx und ende:1.1.xxxx dann ist dazwischen Weihnachten, dass soll dann da stehen etc.
kann jemand helfen oder mal ein Tipp geben die ich die If scheilefe/n realisieren kann ?
Danke danke

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Funktion Jahreszeiten-Feiertage
08.12.2008 13:19:37
Rudi
Hallo,

Function ListeFeiertage(dteStart As Date, dteEnde As Date) As String
Dim i As Date, strTemp As String
For i = dteStart To dteEnde
strTemp = strFeiertag(i)
If strTemp  "" Then Feiertage = Feiertage & strTemp & "; "
Next
Feiertage = Left(Feiertage, Len(Feiertage) - 2)
End Function



Function strFeiertag(dteDatum As Date) As String
Dim d As Integer, iJahr As Integer, dteOsterSonntag As Date
iJahr = Year(dteDatum)
d = (((255 - 11 * (iJahr Mod 19)) - 21) Mod 30) + 21
dteOsterSonntag = _
DateSerial(iJahr, 3, 1) + d + (d > 48) + 6 - ((iJahr + iJahr \ 4 + d + (d > 48) + 1) Mod 7)
Select Case dteDatum
Case dteOsterSonntag - 2:       strFeiertag = "Karfreitag"
Case dteOsterSonntag:           strFeiertag = "Ostersonntag"
Case dteOsterSonntag + 1:       strFeiertag = "Ostermontag"
Case dteOsterSonntag + 39:      strFeiertag = "Christi Himmelfahrt"
Case dteOsterSonntag + 49:      strFeiertag = "Pfingstsonntag"
Case dteOsterSonntag + 50:      strFeiertag = "Pfingstmontag"
Case dteOsterSonntag + 60:      strFeiertag = "Fronleichnam"
Case DateSerial(iJahr, 1, 1):   strFeiertag = "Neujahr"
Case DateSerial(iJahr, 5, 1):   strFeiertag = "Maifeiertag"
Case DateSerial(iJahr, 10, 3):  strFeiertag = "Tag der Einheit"
Case DateSerial(iJahr, 11, 1):  strFeiertag = "Allerheiligen"
Case DateSerial(iJahr, 12, 25): strFeiertag = "1.Weihnachtstag"
Case DateSerial(iJahr, 12, 26): strFeiertag = "2.Weihnachtstag"
End Select
End Function


Gruß
Rudi

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige