Le variabili di tipo data in Excel Vba
Per dichiarare una variabile data in una macro Excel uso il tipo Date
Dim dataesempio As Date
Per un valore alla variabile devo indicare la data nel formato americano #mm/gg/aaaa#.
dataesempio = #05/03/2020#
Quindi, questa data è il 3 maggio 2020. Non è il 5 marzo 2020.
Nota. In alternativa posso assegnare un valore di tipo data anche in modo letterale. Ad esempio #5 may 2020#. Vba modifica automaticamente il valore nel formato in #mm/gg/aaaa#.
Una volta definita una variabile di tipo data, posso usarla nelle operazioni matematiche o di confronto.
Un esempio pratico
In questa macro dichiaro due variabile di tipo data.
- Sub Prova()
- Data1 = "#5/3/2020#"
- Data2 = "#7/3/2020#"
- MsgBox(Data2 - Data1)
- End Sub
Poi stampo la differenza tra le due date.
Il risultato è 61 perché le due date sono separate tra loro da 61 giorni.
61
Da notare che se avessi invertito i valori nella sottrazione Data1-Data2 il risultato sarebbe stato negativo, ossia -61.
Esempio 2
In questa data confronto una data con la data di oggi tramite la funzione Date.
- Sub Prova()
- Data1 = "#5/3/2020#"
- MsgBox(Date - Data1)
- End Sub
La funzione Date preleva automaticamente la data odierna dal computer.
Il risultato è 417.
417
Vuol dire che dalla data assegnata alla variabile Data1 sono passati 417 giorni.
E così via.