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.