É possível utilizar o CDate em VBA para converter uma cadeia de texto numa data.

Eis duas formas comuns de utilizar esta função na prática:

Método 1: Converter cadeia de caracteres em data utilizando o formato predefinido (MM/DD/AAAA)

 Sub ConvertStringToDate() Dim i As Integer For i = 2 To 8 Range(" B " & i) = CDate(Range(" A " & i)) Next i End Sub 

Esta macro em particular converterá cada string no intervalo A2:A8 para uma data com o formato de data predefinido de MM/DD/AAAA.

Por exemplo, uma cadeia de texto de 2023-04-15 será convertida numa data de 15/04/2023.

Método 2: Converter cadeia de caracteres em data utilizando um formato personalizado

 Sub ConvertStringToDate() Dim i As Integer For i = 2 To 8 Range(" B " & i) = Format(CDate(Range(" A " & i)), " MM.DD.AAAA ") Next i End Sub 

Esta macro em particular converterá cada string no intervalo A2:A8 para uma data com um formato de MM.DD.AAAA.

Por exemplo, uma cadeia de texto de 2023-04-15 será convertida numa data de 04.15.2023.

Os exemplos seguintes mostram como utilizar cada método na prática com a seguinte coluna de cadeias de caracteres no Excel:

Exemplo 1: Converter cadeia de caracteres em data utilizando o formato predefinido

Podemos utilizar a seguinte macro para converter cada cadeia da coluna A numa data com o formato predefinido de MM/DD/AAAA:

 Sub ConvertStringToDate() Dim i As Integer For i = 2 To 8 Range(" B " & i) = CDate(Range(" A " & i)) Next i End Sub 

Quando executamos esta macro, obtemos a seguinte saída:

Repare que a coluna B converte cada cadeia de caracteres da coluna A numa data com o formato de data predefinido de MM/DD/AAAA.

Exemplo 2: Converter cadeia de caracteres em data utilizando um formato personalizado

Podemos utilizar a seguinte macro para converter cada cadeia de caracteres na coluna A numa data com um formato personalizado de MM.DD.AAAA:

 Sub ConvertStringToDate() Dim i As Integer For i = 2 To 8 Range(" B " & i) = Format(CDate(Range(" A " & i)), " MM.DD.AAAA ") Next i End Sub 

Quando executamos esta macro, obtemos a seguinte saída:

Repare que a coluna B converte cada cadeia de caracteres na coluna A para uma data com um formato personalizado de MM.DD.AAAA.

Não hesite em utilizar o VBA Formato para apresentar as datas no formato que desejar.

Nota : Pode encontrar a documentação completa para o VBA CDate função aqui.