In de bijlage, een strokenplanning met de code van Sylvester Ponten.
Men kan kiezen of er al dan niet moet gewerkt worden op zaterdagen, zondagen en feestdagen.
In de code van Sylvester, is de keuze die men maakt voor de feestdagen dominant.
Ik zou echter willen dat de keuze, die men maakt voor zaterdag en zondag, voorrang krijgen op de keuze die men maakt voor de feestdagen.
Voorbeeld: keuze voor zondag = niet werken; keuze voor feestdag is wel werken.
Als zondag nu een feestdag is, dan wint de keuze die men maakt voor de feestdagen.
Ik zou willen dat de keuze voor zaterdag en zondag voorrang krijgen.
Het lukt mij niet om de code van Sylvester aan te passen.
Wie kan helpen?
Men kan kiezen of er al dan niet moet gewerkt worden op zaterdagen, zondagen en feestdagen.
In de code van Sylvester, is de keuze die men maakt voor de feestdagen dominant.
Ik zou echter willen dat de keuze, die men maakt voor zaterdag en zondag, voorrang krijgen op de keuze die men maakt voor de feestdagen.
Voorbeeld: keuze voor zondag = niet werken; keuze voor feestdag is wel werken.
Als zondag nu een feestdag is, dan wint de keuze die men maakt voor de feestdagen.
Ik zou willen dat de keuze voor zaterdag en zondag voorrang krijgen.
Het lukt mij niet om de code van Sylvester aan te passen.
Wie kan helpen?
Code:
Function eindDatum(Start, Dagen, Optional Za = "nee", Optional Zo = "nee", Optional Fe = "nee", Optional Feestdagen As Range)
'Code van Sylvester Ponten
Dim Werkdagen As Long, Feestdag As Range, isWerkdag As Boolean
eindDatum = Start - 1
Do
eindDatum = eindDatum + 1
isWerkdag = False
If Not Feestdagen Is Nothing Then
For Each Feestdag In Feestdagen
If Feestdag = eindDatum Then Exit For
Next
End If
If Not Feestdag Is Nothing Then
If Fe <> "nee" Then isWerkdag = True
Else
If Weekday(eindDatum, 2) = 6 And Za <> "nee" Then
isWerkdag = True
ElseIf Weekday(eindDatum, 2) = 7 And Zo <> "nee" Then
isWerkdag = True
ElseIf Weekday(eindDatum, 2) <= 5 Then
isWerkdag = True
End If
End If
If isWerkdag = False Then
Start = Start + 1
Else
Werkdagen = Werkdagen + 1
End If
Loop Until Werkdagen = Dagen
End Function