Ik heb zonet een kleine functie geschreven om de dichtsbijzijnde juiste datum te zoeken. Klinkt misschien beetje verwarrend, maar ik wou iets maken dat bv de dichtsbijzijnde maandag zoekt, wanneer een gebruiker een datum ingeeft.
bv : zaterdag 20 april (ik wil dichtste maandag) > maandag 22 april.
Public Function ZoekJuisteDatum(dtAankomstDatum As Date, bytWeekDay As Byte)
Dim bytWeekDayInvoer As Byte
bytwdinvoer = Weekday(dtAankomstDatum)
Dit werkt nu al voor maandag (weekday 2), maar als ik dit voor elke weekdag moet schrijven lijkt het mij dat er een kortere manier voor is ?! Iemand enig idee ?
bv : zaterdag 20 april (ik wil dichtste maandag) > maandag 22 april.
Public Function ZoekJuisteDatum(dtAankomstDatum As Date, bytWeekDay As Byte)
Dim bytWeekDayInvoer As Byte
bytwdinvoer = Weekday(dtAankomstDatum)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| Select Case bytWeekDay
Case 2
Select Case bytwdinvoer
Case 1
dtAankomstDatum = dtAankomstDatum + 1
Case 2
dtAankomstDatum = dtAankomstDatum
Case 3
dtAankomstDatum = dtAankomstDatum - 1
Case 4
dtAankomstDatum = dtAankomstDatum - 2
Case 5
dtAankomstDatum = dtAankomstDatum - 3
Case 6
dtAankomstDatum = dtAankomstDatum + 3
Case 7
dtAankomstDatum = dtAankomstDatum + 2
Debug.Print dtAankomstDatum
End Select
Case 6
End Select
End Function |
Dit werkt nu al voor maandag (weekday 2), maar als ik dit voor elke weekdag moet schrijven lijkt het mij dat er een kortere manier voor is ?! Iemand enig idee ?