Berechnung des letzten Freitags im Monat mit VBA
Schritt-für-Schritt-Anleitung
Um den letzten Freitag im Monat mit VBA zu berechnen, kannst Du die folgende Funktion verwenden. Diese Funktion ermittelt den letzten Freitag eines angegebenen Monats und Jahres:
Function Last_FR(Jahr As Long, Monat As Long) As Date
Dim t As Long, s As Long
s = (Monat = 2) And (Day(DateSerial(Jahr, 2, 29)) = 29): s = s * -1
t = Choose(Monat, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31): t = t + s
Last_FR = DateSerial(Jahr, Monat, t + 1) - Weekday(DateSerial(Jahr, Monat, t - 5))
End Function
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Klicke auf
Einfügen
und wähle Modul
.
- Füge den obigen Code in das Modul ein.
- Schließe den VBA-Editor.
- Du kannst nun die Funktion
Last_FR(Jahr, Monat)
in Deinen Excel-Zellen verwenden, um den letzten Freitag des Monats zu ermitteln.
Häufige Fehler und Lösungen
-
Fehler: #NAME?
- Ursache: Die Funktion wurde nicht korrekt im VBA-Editor eingefügt. Stelle sicher, dass der Code im richtigen Modul liegt.
-
Fehler: Ungültiges Datum
- Ursache: Überprüfe, ob das Jahr und der Monat gültig sind. Achte darauf, dass der Monat zwischen 1 und 12 liegt.
Alternative Methoden
Wenn Du nicht mit VBA arbeiten möchtest, kannst Du auch eine Excel-Formel verwenden, um den letzten Freitag im Monat zu berechnen. Hier ist eine nützliche Formel:
=DATUM(JAHR(T0);MONAT(T0)+2;1)-WOCHENTAG(DATUM(JAHR(T0);MONAT(T0)+2;1);16)
Setze diese Formel in die Zelle T1, wenn in T0 das Startdatum steht. Kopiere die Formel anschließend nach unten, um die letzten Freitage für die folgenden Monate anzuzeigen.
Praktische Beispiele
Angenommen, dein Startdatum (T0) ist der 28.06.2019:
- T0: Freitag, 28.06.2019
- T1: =DATUM(JAHR(T0);MONAT(T0)+2;1)-WOCHENTAG(DATUM(JAHR(T0);MONAT(T0)+2;1);16) ergibt Freitag, 26.07.2019
- T2: ergibt Freitag, 30.08.2019
Verwende die obigen Formeln und Funktionen, um die letzten Freitage für die gewünschte Zeitreihe zu berechnen.
Tipps für Profis
- Nutze VBA, wenn Du häufige Berechnungen automatisieren möchtest, um Zeit zu sparen.
- Denke daran, die Funktion
Last_FR
in einem Modul zu speichern, damit Du sie in verschiedenen Arbeitsblättern verwenden kannst.
- Wenn Du den letzten Freitag im Jahr berechnen möchtest, kannst Du die Funktion einfach mit dem entsprechenden Jahr und dem Monat Dezember aufrufen.
FAQ: Häufige Fragen
1. Wie finde ich den ersten Freitag im Monat?
Du kannst eine ähnliche Methode verwenden, indem Du die Wochentage entsprechend anpasst und den ersten Freitag des Monats mit einer Formel berechnest.
2. Kann ich diese Funktion auch für andere Wochentage verwenden?
Ja, Du kannst die Funktion anpassen, indem Du den Wochentag in der Berechnung änderst, um den gewünschten Wochentag zu ermitteln.
3. Wie kann ich den letzten Tag im Monat berechnen?
Verwende die Excel-Funktion =EOMONTH(T0;0)
, um den letzten Tag des Monats zu erhalten, basierend auf dem Datum in T0.