Função CDATE em VBA
VBA CDATE é uma função de conversão de tipo de dados que converte um tipo de dados que é texto ou string em um tipo de dados de data. Depois que o valor for convertido para o tipo de dados de data, podemos brincar com as coisas de data.
Sintaxe de CDATE
Abaixo está a sintaxe da função CDATE em VBA.
Expressão: a expressão pode ser uma string ou valor de texto ou uma variável que contém um valor a ser convertido para o tipo de dados de data.
CDATE identifica o formato de data e hora no computador em que estamos trabalhando e converte o valor fornecido no mesmo tipo de dados de data. Se você fornecer apenas dia e mês e ignorar ano, a função CDATE pegará o ano do sistema e mostrará junto com o dia e mês fornecidos.
Veremos mais e mais exemplos na seção abaixo.
Como usar a função CDATE no Excel VBA?
Exemplos da função CDATE no excel vba.
Você pode baixar este modelo VBA CDATE Excel aqui - modelo VBA CDATE ExcelExemplo 1
Antes de mostrar o exemplo de CDATE, olhe primeiro o código abaixo.
Código:
Sub CDATE_Example1 () Dim k As String k = "25-12" MsgBox k End Sub
Acima, para a variável “k”, atribuí o valor como “25-12”. Quando eu executar este código, veremos o mesmo valor na caixa de mensagem do VBA.
Mas isso pode ser convertido para data usando a função VBA CDATE. Para isso, defina mais uma variável como Data.
Código:
Dim k1 como data
Para esta variável “k1” atribua a função CDATE e forneça a variável “k” que contém a string “25-12”. E para a caixa de mensagem mostrar o valor da variável de “k1” ao invés de “k”.
Código:
k1 = CDate (k)
Agora execute o código e veja o resultado em uma caixa de mensagem.
Portanto, o resultado é “25/12/2019”.
Observe atentamente o valor que fornecemos, fornecemos “25-12” não fornecemos ano.
Enquanto escrevia este artigo, o ano atual em meu sistema foi 2019, então o VBA CDATE converteu o valor da string "25-12" para a data e adicionou o ano do sistema 2019 a ele. Portanto, os resultados finais são assim: 25/12/2019, ou seja, 25 de dezembro de 2019.
Exemplo # 2
Agora, olhe para o código abaixo.
Código:
Sub CDATE_Example2 () Dim k As Variant Dim kResult As Date k = 43889 kResult = CDate (k) MsgBox kResult End Sub
No código acima para a variável “k”, apliquei o número “43889”. Todos nós sabemos que este é um número de série, mas para outra variável “KResult” convertemos este valor para a data usando a função “CDATE”.
O mesmo resultado da variável “kResult” mostrado na caixa de mensagem.
Execute o código e veja a magia da função “CDATE”.
Mostra o resultado como “28/02/2020”, se você não está familiarizado com datas no excel então deve estar se perguntando como isso aconteceu.
Por exemplo, digite o mesmo número (43889) em uma das células da planilha.
Para isso aplique o formato “DD-MM-AAAA”.
Agora clique em Ok e veja o resultado.
Agora, o resultado mudou de um número de série para a data. Como aplicamos o formato de data ao número de série, ele mostra a respectiva data.
Portanto, isso significa que o número de série 43889 é igual à data 28-02-2020.
Portanto, em nosso código VBA, a função CDATE executou a mesma coisa ao converter o valor da string em um tipo de dados de data.
Exemplo # 3
Para este exemplo, veja o código abaixo.
Sub CDATE_Example3 () Dim Value1 Dim Value2 Dim Value3 Value1 = "24 de dezembro de 2019" Value2 = # 6/25/2018 # Value3 = "18:30:48 PM" MsgBox CDate (Value1) MsgBox CDate (Value2) MsgBox CDate ( Value3) End Sub
Quando executarmos este código, obteremos os resultados abaixo.
Portanto, todos os valores são convertidos para o tipo de dados de data com a função CDATE.
Coisas para lembrar
- CDATE converte apenas números e valores de string no tipo de dados de data.
- Isso é útil quando o usamos com outras funções.
- Se o valor do tipo de dados incorreto for fornecido, obteremos um erro de incompatibilidade de tipo.
- Como a data e a hora são parte do número de série, ele converte a hora e a hora adequada.