- Exemplo 1: Converter cadeia de caracteres em data utilizando o formato predefinido
- Exemplo 2: Converter cadeia de caracteres em data utilizando um formato personalizado
É 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.