Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Feiertag bestimmen

Forumthread: Feiertag bestimmen

Feiertag bestimmen
15.08.2003 08:19:49
Frederik Fuhrmann
Guten Morgen!
Hat jemand eine Idee, wie ich rauskriege, ob eine Datumsvariable "Datum1" ein Feiertag ist?
Gruß
F.
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Feiertag bestimmen
15.08.2003 08:28:24
Ramses
Hallo,
wenn du alle Feiertage in einem Array gespeichert hast oder diese in einer Tabelle definiert sind, kannst du die Variable im Array suchen oder via SVERWEIS im Tabellenbereich suchen lassen.
Die beweglichen Feiertage kannst du mit der Osterformel berechnen und die festen stehen ohnehin fest :-)
Wie ein Formelbeispiel aussehen kann ( Bedingte Formatierung ) siehst du in diesem Beispiel
http://www.office.gmxhome.de/_download_excel.htm
kalender.zip
Gruss Rainer

Anzeige
AW: Feiertag bestimmen
15.08.2003 08:31:48
WernerB.
Hallo Frederik,
dazu brauchst Du eine Liste mit allen fixen und beweglichen Feiertagen Deines Bundeslandes. Dann kannst Du diese Liste auf Übereinstimmung mit Deiner Datumsvariablen "Datum1" durchsuchen.
Gruß WernerB.

AW: Feiertag bestimmen
15.08.2003 08:41:15
Frederik Fuhrmann
D.h. ich muss die Feiertage in einer Tabelle hinterlegen, gut, dachte halt, da gäbe es eine einfachere Möglichkeit.
Danke
Gruß
Frederik

Anzeige
AW: Feiertag bestimmen (VBA-Fkt.)
15.08.2003 09:36:45
Sigi E.
Hallo Frederik,
mit folgenden drei VBA-Funktionen geht's auch ...

Function IstFeiertag(Datum As Date) As Boolean
If FeiertagName(Datum) <> "" Then
IstFeiertag = True
Else
IstFeiertag = False
End If
End Function


Function FeiertagName(Datum As Date) As String
Dim Txt As String
If Datum = Osterdatum(Year(Datum)) - 2 Then
Txt = "Karfreitag"
ElseIf Datum = Osterdatum(Year(Datum)) Then
Txt = "Ostersonntag"
ElseIf Datum = Osterdatum(Year(Datum)) + 1 Then
Txt = "Ostermontag"
ElseIf Datum = Osterdatum(Year(Datum)) + 39 Then
Txt = "Christi Himmelfahrt"
ElseIf Datum = Osterdatum(Year(Datum)) + 49 Then
Txt = "Pfingstsonntag"
ElseIf Datum = Osterdatum(Year(Datum)) + 50 Then
Txt = "Pfingstmontag"
ElseIf Datum = Osterdatum(Year(Datum)) + 60 Then
Txt = "Fronleichnam"
ElseIf Datum = DateSerial(Year(Datum), 1, 1) Then
Txt = "Neujahr"
ElseIf Datum = DateSerial(Year(Datum), 1, 6) Then
Txt = "Hl. drei Könige"
ElseIf Datum = DateSerial(Year(Datum), 5, 1) Then
Txt = "Maifeiertag"
ElseIf Datum = DateSerial(Year(Datum), 8, 15) Then
Txt = "Mariä Himmelfahrt"
ElseIf Datum = DateSerial(Year(Datum), 10, 3) Then
Txt = "Tag d. dt. Einheit"
ElseIf Datum = DateSerial(Year(Datum), 10, 31) Then
Txt = "Reformationstag"
ElseIf Datum = DateSerial(Year(Datum), 11, 1) Then
Txt = "Allerheiligen"
ElseIf Datum = DateSerial(Year(Datum), 12, 25) Then
Txt = "Weihnachten1"
ElseIf Datum = DateSerial(Year(Datum), 12, 26) Then
Txt = "Weihnachten2"
ElseIf Datum = DateSerial(Year(Datum), 12, 25) - _
Weekday(DateSerial(Year(Datum), 12, 25), _
vbMonday) - 32 Then
Txt = "Buß- u. Bettag"
Else
Txt = ""
End If
FeiertagName = Txt
End Function


Function Osterdatum(Jahr As Long)
Dim D As Long
D = (((255 - 11 * (Jahr Mod 19)) - 21) Mod 30) + 21
Osterdatum = DateSerial(Jahr, 3, 1) + D + (D > 48) + _
6 - ((Jahr + Jahr \ 4 + D + (D > 48) + 1) Mod 7)
End Function

Feiertage, die es in deiner Region nicht gibt, musst du noch aus dem Code löschen!
Gruß
Sigi

Anzeige
AW: Feiertag bestimmen (VBA-Fkt.)
15.08.2003 09:40:44
Frederik Fuhrmann
Guten Morgen Sigi!
Super, sowas hatte ich gesucht,
vielen Dank!
Gruß & schönes Wochenende
Frederik

;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige