Data do VBA do Excel

Existem algumas funções que são realmente muito úteis, e nós sufocamos nossa vida sem que essas funções sejam um usuário do VBA. A função DATA é uma daquelas funções que podem ser realmente muito úteis às vezes e podem facilitar a vida de um programador. Em uma planilha do Excel, existe uma função chamada HOJE () que fornece a data atual como resultado, com base na data do sistema. Em linhas semelhantes, o VBA possui a função DATE, que fornece a data atual com base na data do sistema.

A função VBA DATE retorna a data atual com base na data do sistema como resultado e possui uma sintaxe realmente muito simples.

Esta função não possui nenhum argumento a ser passado, vem com o nome da função e parênteses vazios. Não é obrigatório adicionar os parênteses também ao chamar esta função. Essa função não é realmente simples por natureza?

A sintaxe da função DATE no VBA.

Como usar a função de data do Excel VBA?

Vamos aprender como usar uma função Data do VBA com alguns exemplos no Excel.

Você pode baixar este modelo de data do VBA Excel aqui - modelo de data do VBA Excel

Função Data VBA - Exemplo # 1

Suponha que você desejasse ver a data atual em MsgBox. Como você pode fazer isso? Basta seguir os passos abaixo e você terminará.

Etapa 1: Insira um novo módulo no seu Editor do Visual Basic.

Etapa 2: defina um subprocedimento para gravar, criar e salvar uma macro.

Código:

 Sub DataEx1 () Fim Sub 

Etapa 3: defina uma variável chamada CurrDate que possa conter o valor da data atual. Como estamos prestes a atribuir um valor de data à variável, certifique-se de defini-lo como uma data.

Código:

 Sub DateEx1 () Dim CurrDate As Date End Sub 

Etapa 4: usando o operador de atribuição, atribua um valor da data atual do sistema à variável recém-criada. Você só precisa adicionar DATE para atribuir o valor da data. Use o seguinte trecho de código:

Código:

 Sub DateEx1 () Dim CurrDate Como Data CurrDate = Data Fim Sub 

Etapa 5: use MsgBox para poder ver a data atual do sistema no prompt da caixa de mensagem. Use a linha de código fornecida abaixo:

Código:

 Sub DateEx1 () Dim CurrDate como data CurrDate = Data MsgBox "A data de hoje é:" & CurrDate End Sub 

Etapa 6: pressione F5 ou execute o botão manualmente para executar este código. Você poderá ver uma caixa de mensagem como mostrado na captura de tela abaixo com a data atual.

Observe que a data mostrada aqui na captura de tela é a data em que executei esse script. Você pode estar recebendo uma data diferente no momento em que executa esse código, com base na data do sistema.

Este é o exemplo mais simples de como obter a data atual. Você também pode usar a função Cells.Value para obter o valor da data em uma célula específica da planilha do Excel.

Função Data VBA - Exemplo # 2

Data de vencimento do pagamento do EMI do empréstimo à habitação

Suponha que eu tenha uma planilha e precise de um sistema para me mostrar uma mensagem “ Ei! Você precisa pagar seu IME hoje. ”Sempre que abro minha planilha e o valor na célula A1 é a data atual do sistema. Vamos ver passo a passo como podemos fazer isso.

Etapa 1: Insira um novo módulo e defina um novo subprocedimento chamado auto_open () para criar uma macro. auto_open () permite que sua macro seja executada automaticamente sempre que você abrir a planilha.

Código:

 Sub auto_open () End Sub 

Etapa 2: Use a condição If para atribuir o valor da data atual na célula A1 da planilha HomeLoan_EMI.

Código:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Range ("A1"). Valor = Data Fim Sub 

Etapa 3: Agora, use Then na mesma linha após IF para que possamos adicionar uma instrução que será executada enquanto a condição if for verdadeira.

Código:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Range ("A1"). Value = Data Em seguida, End Sub 

Etapa 4: adicione uma instrução a ser executada para a condição verdadeira.

Código:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Range ("A1"). Value = Date Then MsgBox ("Hey! Você precisa pagar seu EMI hoje.") End Sub 

Esta declaração será exibida na Caixa de Mensagens assim que a condição Se for verdadeira.

Etapa 5: Como sabemos, todas as condições SE sempre precisavam de uma condição Else. Adicione uma condição Else a esse loop.

Código:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Range ("A1"). Value = Date Then MsgBox ("Ei! Você precisa pagar seu EMI hoje.") Else Exit Sub End Sub 

Essa outra condição encerrará a abertura automática da macro se uma data na célula A1 não for a data atual do sistema.

Etapa 6: Finalmente, finalize o loop IF usando a instrução End IF.

Código:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Range ("A1"). Value = Date Then MsgBox ("Hey! Você precisa pagar seu EMI hoje.") Else Exit Sub End If End Sub 

Etapa 7: É isso, agora, toda vez que você abrir sua planilha, o sistema executará automaticamente o código acima e verifique se o valor da data na célula A1 é sua data de vencimento da EMI ou não. Se a data de vencimento do EMI for igual à data do sistema, mostrará a mensagem abaixo:

Função Data VBA - Exemplo # 3

Data do VBA para descobrir a fatura do cartão de crédito

Suponha que eu tenha uma lista de clientes com cartão de crédito e que você queira saber quem tem o pagamento devido hoje. Para que você possa ligar para eles e pedir que eles paguem o vencimento imediatamente pelo EOD.

A Data do VBA pode ser útil para permitir que você automatize as coisas em vez de verificar as datas uma a uma. Vamos ver como fazer isso passo a passo:

Etapa 1: defina uma nova macro usando um subprocedimento em um módulo.

Código:

 Sub DataEx3 () Fim Sub 

Etapa 2: defina duas novas variáveis, uma das quais será útil no loop do código e outra para manter o valor da data atual do sistema.

Código:

 Sub DateEx3 () Dim DateDue Como Data Dim i Como Longo DateDue = Data i = 2 End Sub 

Etapa 3: Agora use o seguinte código que ajuda na pesquisa da pessoa que possui uma data de vencimento da fatura do cartão de crédito como a data atual do sistema. Esse código permite verificar o Cliente que possui o pagamento da fatura vencido na data atual do sistema, juntamente com o valor da fatura.

Código:

 Sub DateEx3 () Dim DateDue As Date Dim i As Long DateDue = Date i = 2 For i = 2 To Sheets ("CC_Bill"). Células (Rows.Count, 1) .End (xlUp) .Row If DateDue = DateSerial ( Ano (DateDue), Mês (Planilhas ("CC_Bill"). Células (i, 3) .Value), Dia (Planilhas ("CC_Bill"). Células (i, 3) .Value)) Então MsgBox "Nome do Cliente:" & Sheets ("CC_Bill"). Células (i, 1) .Value & vbNewLine & "Valor Premium:" & Sheets ("CC_Bill"). Células (i, 2) .Value End If Next i End Sub 

Etapa 4: execute esse código pressionando F5 ou o botão Executar manualmente e veja a saída.

Na primeira iteração, podemos ver que Mohan é quem tem uma conta de 12.900 com vencimento em 29 de abril de 2019 (data atual do sistema em que esse código é executado). Se clicarmos em OK, podemos ver o próximo nome de cliente com uma fatura vencida em 29 de abril de 2019 (Rajani é o próximo).

Esse código será realmente útil quando você tiver milhões de linhas de clientes que têm suas faturas vencidas em um dia específico. Observe que todos os scripts mencionados neste artigo são executados em 29 de abril de 2019. Você pode obter um valor de data diferente ao executar esses códigos de amostra com base na data do sistema.

Coisas para lembrar

  • A função VBA DATE retorna a data atual do sistema e paralela à função TODAY () do Excel.
  • A função VBA DATE não possui nenhum argumento a ser passado no Excel. Nem precisa que os parênteses sejam chamados ao usar esta função no código.
  • DATA VBA é uma função não volátil no Excel.
  • O VBA armazena os valores de Data como DATE no momento da execução. Portanto, não define um valor de retenção de variável como String / Inteiro. Isso causará um erro durante a execução do código.

Artigos recomendados

Este foi um guia para Excel VBA Date. Aqui discutimos como usar as funções de data do VBA do Excel, além de exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. O que é o formato de data do VBA?
  2. Data de inserção do Excel | Tutorial do Excel
  3. GoTo VBA | Como usar?
  4. Função EDATE Excel (fórmula, exemplo)
  5. O que é o VBA DateSerial?

Categoria: