|
Info |
|
|
|
Esempi |
|
|
|
Linguaggio |
|
|
|
Librerie |
|
|
|
Formule |
|
|
|
|
|
|
|
|
|
Ultimi Inseriti |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Una funzione che consente di calcolare la data successiva di un turno settimanale, come ad esempio: il primo lunedì del mese, il secondo mertedì del mese, l'ultimo mercoledi, ecc.
L'esempio a lato di un calendario costruito a partire dall'inizio dell'anno può aiutare a capire il risultato che si ottiene, il link in basso consente di scaricare l'esempio. |
La funzione si usa con questa sintassi:
=TurnoSuccessivo(DalGiorno, GiornoSett, Quando)
Parametri: Parametro DalGiorno:
Il primo giorno disponibile per il turno
Opzioni per il parametro GiornoSett:
- Lunedì
- Martedì
- Mercoledì
- Giovedì
- Venerdì
- Sabato
- Domenica
Opzioni per il parametro Quando:
- Successivo
- 1° del mese
- 2° del mese
- 3° del mese
- 4° del mese
- Penultimo del mese
- Ultimo del mese
Il codice delle funzione: Function TurnoSuccessivo( DalGiorno, GiornoSett, Quando) As Date
GS = 1
Select Case GiornoSett
Case "Lunedì": GS = 1
Case "Martedì": GS = 2
Case "Mercoledì": GS = 3
Case "Giovedì": GS = 4
Case "Venerdì": GS = 5
Case "Sabato": GS = 6
Case "Domenica": GS = 7
End Select
DT = DalGiorno - 1
IncrMese = 0
While (DT < DalGiorno)
Select Case Quando
Case "Successivo":
DT = DalGiorno
Case "1° del mese":
DT = DateSerial(Year( DalGiorno), Month( DalGiorno) + IncrMese, 1)
Case "2° del mese":
DT = DateSerial(Year( DalGiorno), Month( DalGiorno) + IncrMese, 1) + 7
Case "3° del mese":
DT = DateSerial(Year( DalGiorno), Month( DalGiorno) + IncrMese, 1) + 14
Case "4° del mese":
DT = DateSerial(Year( DalGiorno), Month( DalGiorno) + IncrMese, 1) + 21
Case "Penultimo del mese":
DT = DateSerial(Year( DalGiorno), Month( DalGiorno) + IncrMese + 1, 1) - 14
Case "Ultimo del mese":
DT = DateSerial(Year( DalGiorno), Month( DalGiorno) + IncrMese + 1, 1) - 7
End Select
IncrMese = IncrMese + 1
Wend
TurnoSuccessivo = DT + GS - Weekday(DT, vbMonday)
If (Weekday(DT, vbMonday) > GS) Then TurnoSuccessivo = TurnoSuccessivo + 7
End Function
Gli esempi contenuti nel sito sono per uso personale, non é consentito l'uso professionale, commerciale o la riproduzione senza autorizzazione.
|
|
|