Feiertage berechnen (VBA)

Feste und bewegliche Feiertage

Ein immer wiederkehren­des The­ma, die Feiertage. Wenn die alle auf einem fes­ten Tag liegen wür­den wie beispiel­sweise Neu­jahr, dann wäre das alles ganz leicht. Aber es gibt da ja noch die beweglichen Feiertage, die in Deutsch­land alle von Ostern abhängig sind. Und dann ist es (natür­lich) so, dass in ver­schiede­nen Regio­nen offizielle Feiertage dazu kom­men. Das wohl bekan­nteste Beispiel ist der Rosen­mon­tag im Rhein­land, der dort als offizieller Feiertag zählt. Sie merken: Diese Berech­nun­gen beziehen sich auf Deutsch­land, kön­nen aber dur­chaus auf andere Staat­en angepasst wer­den.

Die Berech­nung in VBA ist prak­tisch gle­ich zur Berech­nung in Plain Excel, nur dass hier durch den Ersteller bzw. Admin­is­tra­tor des Codes fest­gelegt wird, welche Tage als Feiertag gel­ten und welche nicht. Mit ein­er Erweiterung des Codes wäre es leicht möglich, neben den bun­de­sein­heitlichen Feierta­gen auch regionale Beson­der­heit­en einzupfle­gen. Die Funk­tion gibt einen Bool-Wert zurück, also True/False bzw. WAHR/FALSCH.

▲ nach oben …

Download

Der Code, den Sie hier in gepack­ter Form (*.zip) herun­ter­laden kön­nen, stellt eine Funk­tion Feiertag() zur Ver­fü­gung. Wie fast immer sind in der Datei zwei Ver­sio­nen enthal­ten, ein­mal die importier­bare *.bas und eine *.txt zum direk­ten C:P in Ihr Mod­ul. Soll­ten Sie die Files in ungepack­ter Form benöti­gen, senden Sie uns ein­fach eine Mail.

▲ nach oben …

Anpassungen im Code

Selb­stre­dend kön­nen (dür­fen) Sie den Code Ihren Wün­schen und Bedürfnis­sen entsprechend anpassen. Er ist so gestal­tet, dass nicht die Schnel­ligkeit son­dern die Trans­parenz im Vorder­grund ste­ht. Auch Ein­steiger sollen mit den Zeilen klar kom­men, ohne lange und andauernd nach­schla­gen zu müssen.

Feste Feiertage

Die fes­ten Feiertage wer­den wohl in naher Zukun­ft nicht geän­dert wer­den müssen. Es sei denn, Sie passen die Dat­en auf einen anderen Staat an, wo naturgemäß andere Feiertage gel­ten und diese dann wohl auch andere Beze­ich­nun­gen haben. Hier kön­nen Sie erfor­der­lichenfalls ein­fach die Vari­ablen anpassen. – Ob nun Heili­ga­bend und Sil­vester zu den Feierta­gen gerech­net wer­den, das ist Ansichtssache. Im Code kön­nen Sie durch die Form der Kom­men­tierung bes­tim­men, wie die Wer­tung sein soll.

Bewegliche Feiertage

Basierend auf Ostern gibt es ja ver­schiedene bewegliche Feiertage. Ostern wurde hier nach der Gauss-Formel berech­net. Davon abgeleit­et wur­den die beweglichen Feiertage defi­niert. Auch hier gilt, dass Sie die Funk­tion nach Belieben anpassen kön­nen.

Regionale Feiertage

Derzeit sind die meis­ten davon zwar als Datum berech­net und erfasst,aber noch nicht in die Select Case – Entschei­dungsstruk­tur einge­fügt. Je nach Gegeben­heit kön­nen Sie die entsprechen­den Feiertage hinzu fügen.

▲ nach oben …

Dieser Beitrag wurde unter Code-Schnipsel, Datum und Zeit, Mit VBA/Makro, Tipps und Tricks abgelegt und mit , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.