VBA Função CDate – Converter Texto em Dados

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on June 9, 2023

Este breve tutorial demonstrará como converter um texto em uma data no VBA.

As datas no Excel são armazenadas como números e, em seguida, formatadas para serem exibidas como uma data. O dia 1 no mundo do Excel foi 1º de janeiro de 1900 (padrão do Windows) ou 1º de janeiro de 1904 (padrão do Macintosh), o que significa que 5 de agosto de 2021 é o dia 44413 desde 1º de janeiro de 1900. Para converter uma cadeia de caracteres em uma data no Excel, primeiro precisamos converter a cadeia de caracteres em um número e, em seguida, converter esse número na data.

Função CDate

Podemos usar uma função chamada CDate no VBA para converter uma cadeia de caracteres em uma data.

Sub ConverterData()
  Dim dte As Single
  Dim strD As String
  strD = "05/10/2020"
  dte = CDate(strD)
  MsgBox dte
End Sub

Como declaramos uma variável numérica (dte como Single), a caixa de mensagem retornará o número que se refere à data inserida.

exemplo data numero

É importante que digitemos o ano usando todos os 4 dígitos do ano (ou seja, 2020 e não apenas 20), caso contrário, o número retornado poderá não ser o esperado. O Excel não interpreta a parte do ano da data – isso é controlado pelo Painel de Controle do nosso PC.

Entretanto, se declararmos as variáveis como uma variável de data, a caixa de mensagem retornará o número convertido em uma data.

Sub ConverterData()
  Dim dte As Date
  Dim strD As String
  strD = "05/10/2020"
  dte = CDate(strD)
  MsgBox dte
End Sub

VBA Date MsgBox Date

Podemos dar um passo adiante e formatar a data de acordo com o tipo de formato de data que gostaríamos de ver.

Sub ConverterData()
  Dim dte As String
  Dim strD As String
  strD = "05/10/2020"
  dte = Format(CDate(strD), "dd mmmm yyyy")
  MsgBox dte
End Sub

Neste exemplo, estamos convertendo a string em uma data e, em seguida, novamente em uma string!

exemplo data com formato

Se omitirmos totalmente o ano, o Excel assumirá o ano atual.

 

exemplo ano omitido

vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA