VBA Converti stringa in data

Sommario

Questo breve tutorial dimostrerà come convertire una stringa in una data in VBA.

Le date in Excel vengono archiviate come numeri e quindi formattate per essere visualizzate come data. Il giorno 1 nel mondo di Excel era il 1 gennaio 1900 (predefinito in Windows) o il 1 gennaio 1904 (predefinito in Macintosh) - il che significa che il 5 agosto 2022 è il giorno 44413 dal 1 gennaio 1900. Per convertire una stringa in una data in Excel , dobbiamo prima convertire la stringa in un numero, quindi convertire quel numero nella data.

Funzione CDate

Possiamo usare una funzione chiamata CDate in VBA per convertire una stringa in una data.

1234567 Sub ConvertDate()Dim dte As SingleDim strD As StringstrD = "05/10/2020"dte = CDate(strD)MsgBox dteFine sottotitolo

Poiché abbiamo dichiarato una variabile numerica (dte come Single), il msgbox restituirà il numero che si riferisce alla data inserita.

È importante inserire l'anno utilizzando tutte e 4 le cifre dell'anno (ad esempio 2022 e non solo 20), altrimenti il ​​numero restituito potrebbe non essere quello previsto. Excel non interpreta la parte dell'anno della data - questo è controllato dal pannello di controllo del nostro PC.

Tuttavia, se dichiariamo le variabili come una variabile di data, la finestra di messaggio restituirà il numero convertito in una data.

1234567 Sub ConvertDate()Dim dte As DateDim strD As StringstrD = "05/10/2020"dte = CDate(strD)MsgBox dteFine sottotitolo

Possiamo fare un ulteriore passo avanti e formattare la data nel tipo di formato della data che vorremmo vedere.

1234567 Sub ConvertDate()Dim dte As StringDim strD As StringstrD = "05/10/2020"dte = Format(CDate(strD), "dd mmmm yyyy")MsgBox dteFine sottotitolo

In questo esempio, stiamo convertendo la stringa in una data e poi di nuovo in una stringa!

Se dovessimo omettere completamente l'anno, Excel assume l'anno corrente.

wave wave wave wave wave