VBA-Beispiel 067
mail schreiben
mail schreiben

letzten Werktag eines Monats ermitteln

Ermittelt den letzten Werktag des aktuellen Monats (ohne Feiertage).
Option Explicit

Sub letzten_Werktag_ermitteln()
'letzten Werktag im Monat ermitteln
Dim d As Date
Dim i As Long

d = Now

'letzte Tag im Monat
d = DateSerial(Year(d), Month(d) + 1, 0)

For i = 1 To 3
   'prüfen ob letzte Tag im Monat Sa/So
    If Weekday(d) = 1 Or Weekday(d) = 7 Then
       'wenn ja, ein Tag davor
        d = DateSerial(Year(d), Month(d) + 1, 0) - i
    Else
        Exit For
    End If
Next i

MsgBox d & "   " & Format(Weekday(d), "dddd"), , _
      "letzter Werktag in diesem Monat ist"

End Sub  

Download:   vba067.zip