AW: sorry, brauche doch noch Hilfe
08.05.2020 11:24:41
Martin
Hallo Wolfgang,
ich möchte dir noch einen kleinen Hinweis zum Sonderfall "Feiertage" geben. Die Funktion NetworkDays ist in der Lage Feiertage zu berücksichtigen, allerdings musst du die Feiertage separat definieren. Berücksichtige dabei, dass deine Datei auch über den Jahreswechsel hinaus die Feiertage korrekt kennen sollte.
Deshalb habe ich dir hier mal ein kleines Beispiel gemacht, bei dem der Feiertag "Heilige drei Könige" am 6. Januar für das stets laufende und das kommende Jahr bei der Berechnung der Arbeitstage berücksichtigt wird. Die Liste arrHolidays kannst du beliebig erweitern:
Sub HolidayList() 'Am Beispiel 6. Januar ("Heilige drei Könige")
Dim arrHolidays() As Variant
Dim dteStart As Date, dteEnd As Date
dteStart = "06.01.2020"
dteEnd = "08.01.2020"
arrHolidays = Array(CLng(DateSerial(Year(Date), 1, 6)), CLng(DateSerial(Year(Date) + 1, 1, _
6))) 'Feiertag(e)
MsgBox "Arbeitstage ohne Heilige drei Könige: " & Application.NetworkDays(dteStart, dteEnd)
MsgBox "Arbeitstage mit Heilige drei Könige: " & Application.NetworkDays(dteStart, dteEnd, _
arrHolidays)
End Sub
Bei beweglichen Feiertagen (z.B. Karfreitag und Ostermontag) müssen die Termine separat berechnet werden (...findest du hier im Forum in der Recherche).
Viele Grüße
Martin