Come convertire una stringa in una data in vba (con esempi)
È possibile utilizzare la funzione CDate in VBA per convertire una stringa di testo in una data.
Ecco due modi comuni per utilizzare questa funzionalità nella pratica:
Metodo 1: convertire la stringa in data utilizzando il formato predefinito (MM/GG/AAAA)
Sub ConvertStringToDate()
Dim i As Integer
For i = 2 To 8
Range(" B " & i) = CDate(Range(" A " & i))
Next i
End Sub
Questa particolare macro convertirà ogni stringa nell’intervallo A2:A8 in una data con il formato data predefinito MM/GG/AAAA.
Ad esempio, una stringa di testo del 15/04/2023 verrà convertita nella data del 15/04/2023.
Metodo 2: convertire la stringa in data utilizzando un formato personalizzato
Sub ConvertStringToDate()
Dim i As Integer
For i = 2 To 8
Range(" B " & i) = Format(CDate(Range(" A " & i)), " MM.DD.YYYY ")
Next i
End Sub
Questa particolare macro convertirà ogni stringa nell’intervallo A2:A8 in una data nel formato MM.GG.AAAA.
Ad esempio, una stringa di testo del 15/04/2023 verrà convertita nella data del 15/04/2023.
I seguenti esempi mostrano come utilizzare nella pratica ciascun metodo con la seguente colonna di stringhe in Excel:
Esempio 1: convertire la stringa in data utilizzando il formato predefinito
Possiamo utilizzare la seguente macro per convertire ogni stringa nella colonna A in una data nel formato predefinito MM/GG/AAAA:
Sub ConvertStringToDate()
Dim i As Integer
For i = 2 To 8
Range(" B " & i) = CDate(Range(" A " & i))
Next i
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Tieni presente che la colonna B converte ogni stringa nella colonna A in una data con il formato data predefinito MM/GG/AAAA.
Esempio 2: convertire una stringa in data utilizzando un formato personalizzato
Possiamo utilizzare la seguente macro per convertire ogni stringa nella colonna A in una data con un formato personalizzato MM.GG.AAAA:
Sub ConvertStringToDate()
Dim i As Integer
For i = 2 To 8
Range(" B " & i) = Format(CDate(Range(" A " & i)), " MM.DD.YYYY ")
Next i
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Tieni presente che la colonna B converte ogni stringa nella colonna A in una data con un formato MM.GG.AAAA personalizzato.
Sentiti libero di utilizzare la funzione Formato VBA per visualizzare le date nel formato che preferisci.
Nota : qui è possibile trovare la documentazione completa per la funzione VBA CDate .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
Come convertire una stringa in int in VBA
Come convertire una stringa in lunga in VBA
Come convertire una stringa in double in VBA