Feiertage berechnen (VBA)

Feste und bewegliche Feiertage

Ein immer wiederkehrendes Thema, die Feiertage. Wenn die alle auf einem festen Tag liegen würden wie beispielsweise Neujahr, dann wäre das alles ganz leicht. Aber es gibt da ja noch die beweglichen Feiertage, die in Deutschland alle von Ostern abhängig sind. Und dann ist es (natürlich) so, dass in verschiedenen Regionen offizielle Feiertage dazu kommen. Das wohl bekannteste Beispiel ist der Rosenmontag im Rheinland, der dort als offizieller Feiertag zählt. Sie merken: Diese Berechnungen beziehen sich auf Deutschland, können aber durchaus auf andere Staaten angepasst werden.

Die Berechnung in VBA ist praktisch gleich zur Berechnung in plain Excel, nur dass hier durch den Ersteller bzw. Administrator des Codes festgelegt wird, welche Tage als Feiertag gelten und welche nicht. Mit einer Erweiterung des Codes wäre es leicht möglich, neben den bundeseinheitlichen Feiertagen auch regionale Besonderheiten einzupflegen. Die Funktion gibt einen Bool-Wert zurück, also True/False bzw. WAHR/FALSCH.

▲ nach oben …

Download

Der Code, den Sie hier in gepackter Form (*.zip) herunterladen können, stellt eine Funktion Feiertag() zur Verfügung. Wie fast immer sind in der Datei zwei Versionen enthalten, einmal die importierbare *.bas und eine *.txt zum direkten c:p in Ihr Modul. Sollten Sie die Files in ungepackter Form benötigen, senden Sie uns einfach eine Mail.

▲ nach oben …

Anpassungen im Code

Selbstredend können (dürfen) Sie den Code Ihren Wünschen und Bedürfnissen entsprechend anpassen. Er ist so gestaltet, dass nicht die Schnelligkeit sondern die Transparenz im Vordergrund steht. Auch Einsteiger sollen mit den Zeilen klar kommen, ohne lange und andauernd nachschlagen zu müssen.

Feste Feiertage

Die festen Feiertage werden wohl in naher Zukunft nicht geändert werden müssen. Es sei denn, Sie passen die Daten auf einen anderen Staat an, wo naturgemäß andere Feiertage gelten und diese dann wohl auch andere Bezeichnungen haben. Hier können Sie erfor­der­lichenfalls einfach die Variablen anpassen. – Ob nun Heiligabend und Silvester zu den Feiertagen gerechnet werden, das ist Ansichtssache. Im Code können Sie durch die Form der Kommentierung bestimmen, wie die Wertung sein soll.

Bewegliche Feiertage

Basierend auf Ostern gibt es ja verschiedene bewegliche Feiertage. Ostern wurde hier nach der Gauss-Formel berechnet. Davon abgeleitet wurden die beweglichen Feiertage defi­niert. Auch hier gilt, dass Sie die Funktion nach Belieben anpassen können.

Regionale Feiertage

Derzeit sind die meisten davon zwar als Datum berechnet und erfasst,aber noch nicht in die Select Case – Entscheidungsstruktur eingefügt. Je nach Gegebenheit können Sie die entsprechen­den Feiertage hinzu fügen.

[NachObenLetzte Verweis="VS, ML: VBA Feiertagsberechnung"]

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.