Zunächst Formales:
Ich wechsle von "Max" (= Michael AleXander) zu "MAlexander", da es hier zu viele "Mäxe" gibt.
Hat sich jemand von Euch schon mal mit dem n-ten Wochentag innerhalb eines Monats beschäftigt ?
Ich meine damit z.B.: 3. Samstag im Oktober 2002 usw.
Wäre klasse, wenn Ihr schon eine Lösung hättet.
Ansonsten würde ich die Sache jetzt in Angriff nehmen - dann wird sie aber auch hier publiziert.
Die Idee ist mir in Anlehnung an die Frage von Andreas B. nach dem letzten Sonntag im März gekommen.
Meine Lösung sieht so aus:
Man übergibt einfach ein beliebiges Datum aus dem Monat, dessen letzten Wochentag man ermitteln will, zusammen mit dem
gewünschten Wochentag:
Mittwoch = GetLastWeekdayOfMonth("03.10.2002", vbWednesday)
Jede Kritik ist gewünscht.
Danke Euch schon mal im voraus.
MAX
Hier die Routine:
Function GetLastWeekdayOfMonth(Datum, Wochentag) As Date
Dim d As Date
Dim Ultimo As Date
Dim Testdatum As Date
d = CDate(Datum)
Ultimo = DateSerial(Year(d), Month(d) + 1, 0)
Testdatum = Ultimo - Weekday(Ultimo) + Wochentag
If (Month(Testdatum) > Month(d)) Then
GetLastWeekdayOfMonth = Testdatum - 7
Else
GetLastWeekdayOfMonth = Testdatum
End If
End Function