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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *