VBA DATEVALUE

O que é a função VBA DateValue?

Uma função DateValue é uma função incorporada no Excel VBA na categoria de função Data / hora. Funciona tanto como função VBA quanto como função de planilha no vba. Esta função retorna o número de série ou valor de Date fornecido no formato de representação de string, ignorando a informação de hora fornecida pela string de Date. Ele é usado de duas maneiras diferentes no Excel. Esta função é usada como uma fórmula de planilha inserida em uma célula da planilha. É usado como código de macro no aplicativo VBA inserindo-o por meio do Editor do Visual Basic associado ao Microsoft Excel.

Neste artigo, vamos aprender exemplos de VBA DATEVALUE e como usá-lo com uma explicação clara.

Explicação da função de valor de dados VBA

No VBA, DATEVALUE usa a seguinte sintaxe.

Esta função usa apenas o único argumento ou parâmetro

  • Data : é a data representada no formato de string
  • Retorna: Esta função retorna o valor da data quando é usada como uma função VBA. Ele retorna o valor da data quando é usado como uma função de planilha

A função VBA DateValue é capaz de interpretar dados representados em formato de texto que são mencionados em um formato Excel válido. Não é possível retornar o valor da data se a string incluir a representação de texto do dia da semana.

Os benefícios da função VBA DateValue são extrair o valor da data da string e converter a data com hora na única data. Podemos simplesmente que quando uma data é fornecida com o tempo, esta função apenas o valor da data evitando o valor do tempo.

Como usar o Excel VBA DATEVALUE?

Para usar a função DateValue no Excel, primeiro precisa abrir o editor VBA.

O botão de comando precisa ser colocado na planilha do Excel para adicionar as linhas do programa VBA a ele. Para implementar as linhas do programa, o usuário precisa clicar no botão de comando da planilha excel. Para obter uma saída válida do programa, uma entrada válida é fornecida por meio do argumento. Por exemplo, o código a seguir ajuda na criação de uma macro para executar a função DateValue para extrair o valor da data do texto em VBA.

Programa VBA: 

 Sub Botão Date () Dim myDate As Date myDate = DateValue (“15 de agosto de 1991”) MsgBox Date (myDate) End Sub 

Este código resulta na data como 15 da entrada fornecida.

Exemplos de Excel VBA DATEVALUE

Abaixo estão os exemplos de DateValue no Excel VBA.

Você pode baixar este modelo VBA DateValue Excel aqui - modelo VBA DateValue Excel

Exemplo # 1 - Obter Dia, Mês e Ano de uma Data

Algumas etapas são seguidas para criar e executar o programa em VBA. Esses incluem

Passo 1: Vá para a aba Desenvolvedor, coloque o cursor em uma célula na planilha do Excel e clique na opção 'Inserir' e escolha 'Botão de Comando' sob Controle ActiveX como mostrado na figura.

Arraste o botão para onde quiser e dê a legenda como botão de data na janela de propriedades.

Etapa 2: Clique duas vezes no botão para redirecionar para o projeto VBA e escrever o código entre o botão de comando Private Sub e finalizar o sub.

O código deve ser desenvolvido conforme abaixo para obter uma data, mês e ano.

Código:

 Private Sub Datebutton1_Click () Dim Exampledate As Date Exampledate = DateValue ("19 de abril de 2019") MsgBox Date MsgBox Year (Exampledate) MsgBox Mês (Exampledate) End Sub 

Neste código, Datebutton1_Click () é o nome e exampledate são variáveis ​​com tipo de dados Date e Msgbox para exibir a saída.

Etapa 3: durante o desenvolvimento do código, erros de incompatibilidade de tipo vba ocorrerão e será necessário cuidar deles.

Etapa 4: Nesta etapa, execute o programa clicando na opção executar.

Ou podemos verificar ou depurar o programa passo a passo, selecionando a opção Step Into no menu Debug. Se nosso código estiver sem erros, ele exibe a saída.

Passo 5 : Quando o programa é executado, ele primeiro exibe a caixa de mensagem com a data fornecida na entrada de texto. Em seguida, clique em OK para ver o valor do ano novamente clique em OK na caixa de mensagem para ver o valor do mês.

Nota: Estas etapas devem ser seguidas claramente para obter resultados precisos.

Exemplo 2 - Usando o DatePart para obter as diferentes partes da data

Passo 1: Vá para a aba Excel Developer, coloque o cursor em uma célula na planilha do Excel e clique na opção 'Inserir' e escolha 'Botão de Comando' em Controle ActiveX como mostrado na figura.

Etapa 2: Arraste o botão e forneça a legenda como DatePart nas propriedades.

Dê um clique duplo neste botão, ele direciona para a planilha do Editor do Visual Basic e exibe como segue.

Etapa 3: Desenvolva o código usando DatePart com DateValue conforme mostrado na figura.

Código:

 Sub Datepart1_Click () Dim partdate As Variant partdate = DateValue ("15/08/1991") MsgBox partdate MsgBox Datepart ("yyyy", partdate) MsgBox Datepart ("dd", partdate) MsgBox Datepart ("mm", partdate) MsgBox Datepart ("q", partdate) End Sub 

Neste programa, DatePart1 é o nome da macro e partDate é o nome do argumento com o tipo de dados 'variante'. Para exibir o ano, a data, o mês e o trimestre, o formato é aplicado como “aaaa”, “d”, “m” e “q”. Se cometermos algum erro no formato, ele exibirá o seguinte erro.

Etapa 4: Após a depuração bem-sucedida do programa, execute o programa clicando no botão Executar e use a tecla de atalho do Excel F5.

O código primeiro exibe a data completa e, em seguida, após clicar em todos os OK da msgbox, ele mostra o valor do ano após o valor da data, valor do mês e valor quater respectivamente.

Coisas para lembrar sobre o VBA DATEVALUE

Os seguintes itens devem ser lembrados ao usar a função DateValue no Excel VBA

  • O erro 13 em tempo de execução com a mensagem Tipo Incompatível é exibido quando a data fornecida para a função DateValue não pode ser convertida em uma data válida. Precisamos que a data esteja no formato de texto adequado
  • Quando tentamos obter a única data do argumento da string com o código 'msgbox date (argument name)', ele exibe o erro de incompatibilidade de tipo.
  • Podemos ver a saída da função DateValue sem abrir o editor VBA. Isso é feito clicando no botão de comando e selecione a macro criada para o respectivo programa
  • Quando DatePart é usado para obter os valores, o formato apropriado deve ser seguido. Caso contrário, leva ao 'erro de tempo de execução 5' com mensagem de chamada de procedimento inválido ou argumento.