VBA Converter String para Data

Este breve tutorial demonstrará como converter uma String em uma Data no VBA.

As datas no Excel são armazenadas como números e 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 2022 é o dia 44413 desde 1º de janeiro de 1900. Para converter uma string em uma data no Excel , primeiro precisamos converter a string em um número e, em seguida, converter esse número em data.

Função CDate

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

1234567 Sub ConvertDate ()Dim dte As SingleDim strD As StringstrD = "05/10/2020"dte = CDate (strD)MsgBox dteEnd Sub

Como declaramos uma variável numérica (dte como Única), o msgbox retornará o número que se refere à data inserida.

É importante inserir o ano usando todos os 4 dígitos do ano (ou seja, 2022 e não apenas 20), caso contrário, o número retornado pode 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.

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

1234567 Sub ConvertDate ()Dim dte As DateDim strD As StringstrD = "05/10/2020"dte = CDate (strD)MsgBox dteEnd Sub

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

1234567 Sub ConvertDate ()Dim dte As StringDim strD As StringstrD = "05/10/2020"dte = Formato (CDate (strD), "dd mmmm aaaa")MsgBox dteEnd Sub

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

Se omitirmos totalmente o ano, o Excel assume o ano atual.

wave wave wave wave wave