1 1 1 1 1 1 1 1 1 1 Rating 5.00 (1 Vote)

Problemstellung:

Wie berechnet man die Anzahl der Wochentage (Montage, Dienstage usw.) für einen Monat?

Public Enum Wochentag
    Montag = 1
    Dienstag = 2
    Mittwoch = 3
    Donnerstag = 4
    Freitag = 5
    Samstag = 6
    Sonntag = 7
End Enum
Function WTage(dtDate As Date, Optional WT As Wochentag = 1) As Integer
    Dim dtStart As Date, n As Integer
    Dim i As Integer
    dtStart = DateSerial(Year(dtDate), Month(dtDate), 1)
    n = DateSerial(Year(dtStart), Month(dtStart) + 1, 1) - dtStart
    For i = 1 To n
        If Weekday(dtStart - 1 + i, vbMonday) = WT Then
            WTage = WTage + 1
        End If
    Next i
End Function 

Aufruf z.B.:

MsgBox "Montag: " & WTage(Date, Montag) & vbNewLine & "Dienstag: " & WTage(Date, Dienstag) _
    & vbNewLine & "Mittwoch: " & WTage(Date, Mittwoch) & vbNewLine & _
    "Donnerstag: " & WTage(Date, Donnerstag) _
    & vbNewLine & "Freitag: " & WTage(Date, Freitag) & vbNewLine & _
    "Samstag: " & WTage(Date, Samstag) _
    & vbNewLine & "Sonntag: " & WTage(Date, Sonntag), , _
    "Anzahl der Wochentage für " & Month(Date) & "-" & Year(Date)

Ergebnis:

Ähnliche Artikel

Kommentar schreiben

Sicherheitscode
Aktualisieren

Login Form

1.png1.png9.png3.png1.png0.png9.png
Heute38
Gestern54
Diese Woche38
Dieser Monat1168
Total1193109

  • IP: 54.156.76.187
  • Browser: Unknown
  • Version:
  • OS: Unknown

Online

1
Online

21. Mai 2018