venerdì 26 settembre 2014

Funzione DateSerial per ottenere una data fornendo giorno, mese e anno

E' tutto da rifare.
Non avevo capito il meccanismo, ma mi è servito per fare tanta di quella esperienza con Excel...

E inoltre ho costruito un modulo che è sempre valido, con tutti i campi ben nominati, che può tornare utile successivamente, essendo perfettamente riciclabile.

Quello che devo fare innanzitutto è calcolare il numero dei turni.
Ci sono tanti turni quante sono le notti, e quindi i giorni della settimana, più altri uno per ogni domenica.

Cos'è la funzione DateSerial?

Restituisce la data in formato Date, dati l'anno, il mese, il giorno.
Io lo facevo con un altro metodo.
Mettiamoli a confronto tutti e due (sicuramente quello con la funzione DateSerial sarà il migliore).

Provo ad abbozzare il mio metodo.
I parametri mese e anno sono di tipo Integer.
    Dim mese As Integer, anno As Integer
    Dim dt As Date
    mese = Month(Date) + 1
    anno = Year(Date)
    
    dt = CDate("1/" & mese & "/" & anno)
    Debug.Print "Questo è il metodo mio: " & dt
    
    dt = DateSerial(anno, mese, 1)
    Debug.Print "Questo è il metodo con DateSerial: " & dt
Questo è il metodo mio: 01/10/2014
Questo è il metodo con DateSerial: 01/10/2014


Bene: funziona lo stesso, ma DateSerial ovviamente è più comodo e sicuramente più efficiente.

Lo adotto!

Nessun commento:

Posta un commento