DateAdd do Excel VBA

VBA DateAdd é uma função que executa adição ou subtração de intervalos de hora / data. Isso retornará a data adicionando ou subtraindo um intervalo de tempo especificado. É bastante difícil lidar com data e hora quando você faz alguns cálculos. Mas em nosso trabalho diário, é um tipo essencial de dados que podemos usar. Comparação, adição e subtração entre datas diferentes são algumas operações familiares que fazemos.

Função Formula For DateAdd no Excel VBA

A fórmula para a função VBA DateAdd é muito simples no formato.

Vamos ver quais são os parâmetros usados ​​na função DateAdd do Excel VBA.

  • Intervalo: pode ser um intervalo de data / hora que você deseja adicionar ou subtrair. Isso representa que tipo de valor você deseja adicionar ou subtrair. Pode ser um componente de data ou hora, como dias, meses etc. O escopo dos intervalos é fornecido abaixo.

  • Número: é o número de intervalos que você deseja adicionar. Use um número positivo para adicionar o intervalo com a data especificada e o valor negativo para subtrair o intervalo da data.
  • Data : a data à qual você deseja adicionar / subtrair o intervalo. As operações serão executadas nesta data e a data de retorno como saída.

Exemplos da função DateAdd do Excel VBA

Abaixo estão os diferentes exemplos da função DateAdd no Excel VBA:

Você pode fazer o download deste modelo VBA DateAdd Excel aqui - Modelo VBA DateAdd Excel

Exemplo # 1 - Adicionar data

Vamos ver como adicionar um número específico com a data especificada usando a função VBA DateAdd.

  • Precisamos encontrar a data após adicionar '10' dias à data '25 / 10/2015 '
  • Inicie o subprocedimento com um nome. Aqui nós criamos um sub-procedimento chamado 'adddate'.

Código:

 Sub adddate () End Sub 

  • Crie uma variável como tipo de dados de data, o nome da variável é data atual.

Código:

 Sub adddate () Dim currentdate As Date End Sub 

  • Vamos armazenar o resultado nessa variável data atual.
  • Queremos adicionar '10' dias com '25 / 10/2015 '. Portanto, o número de dias que você deseja adicionar é 10. E o intervalo é 'd' e o número é 10.
  • Então, vamos aplicar a função VBA DateAdd como abaixo.

Código:

 Sub adddate () Dim currentdate As Date currentdate = DateAdd ("d", 10, "25/10/2015") End Sub 

  • Depois de aplicar a fórmula à variável, vamos usar uma caixa de mensagem para imprimir o resultado.

Código:

 Sub adddate () Dim data atual como data currentdate = DateAdd ("d", 10, "25/10/2015") Formato MsgBox (data atual, "dd-mm-aaaa") End Sub 

  • Execute o código pressionando F5. O resultado será mostrado como

Você pode ver o resultado como mostrado acima.

Exemplo # 2 - Adicionar meses

  • Para adicionar meses com a data especificada, o intervalo precisa ser alterado para "m".
  • Adicione '2' com a data “15/2/2017”. O código pode ser escrito como abaixo.

Código:

 Sub addmonth () Dim currentdate As Date currentdate = DateAdd ("m", 2, "15/2/2017") Formato MsgBox (data atual, "dd-mm-aaaa") End Sub 

  • A data de saída será alterada como abaixo.

Exemplo # 3 - Adicionar ano

Para adicionar anos com a data especificada, o código abaixo pode ser usado.

  • O intervalo deve ser "aaaa"
  • Adicione 4 anos com'20 / 2/2018 '

Código:

 Sub addyear () Dim currentdate As Date currentdate = DateAdd ("aaaa", 4, "20/2/2018") MsgBox Format (data atual, "dd-mm-aaaa") End Sub 

  • O resultado será o seguinte. A variável currentdate retornará '20 / 2/2022 '

Exemplo # 4 - Adicionar trimestre

  • Ao adicionar o trimestre, serão adicionados três meses à data desde o trimestre, se 12 meses forem 3.
  • O intervalo deve ser mencionado como "Q", o número fornecido na fórmula especifica quantos quartos devem ser adicionados. Por exemplo, o número de quartos do DateAdd ("Q", 2, "22/5/2019") é 2 e, portanto, serão adicionados 6 meses.
  • Para adicionar 2 quartos com '22 / 5/2018 ', o código abaixo pode ser usado.

Código:

 Sub addquarter () Dim currentdate As Date currentdate = DateAdd ("Q", 2, "22/5/2019") MsgBox Format (currentdate, "dd-mm-aaaa") End Sub 

  • O resultado será o seguinte.

Exemplo 5 - Adicionar segundos

  • Você pode adicionar tempo junto com a data exibida. Para obter isso, mencione o intervalo como "s", que indica segundos.
  • Para exibir cinco segundos com a data '28 / 3/2019 ', use a fórmula abaixo.

Código:

 Sub addseconds () Dim currentdate As Date currentdate = DateAdd ("s", 5, "28/3/2019") MsgBox Format (currentdate, "dd-mm-aaaa hh: mm: ss") End Sub 

  • Enquanto estiver mostrando a saída com a data segundos, será exibido.

Exemplo # 6 - Adicionar semanas

  • Para adicionar um número de semanas com a data especificada, use o intervalo como "WW"
  • Código para encontrar a data após o número determinado de semanas a partir de 27/03/2016

Código:

 Sub addweek () Dim currentdate As Date currentdate = DateAdd ("WW", 2, "27/3/2019") MsgBox Format (currentdate, "dd-mm-aaaa") End Sub 

  • A saída será a data após 2 semanas.

Exemplo 7 - Adicionar horas

  • Para obter um horário específico com uma data, isso é usado.
  • No intervalo, mencione o “h” e também altere o formato da saída.
  • O código para obter as horas impressas com uma data é.

Código:

 Sub addhour () Dim currentdate As Date currentdate = DateAdd ("h", 12, "27/3/2019") MsgBox Format (currentdate, "dd-mm-aaaa hh: mm: ss") End Sub 

  • O resultado será mostrado com o tempo em hh: mm: ss.

Exemplo # 8 - Como subtrair semanas usando a função VBA DateAdd?

Semelhante à adição, a subtração também pode ser executada usando a função VBA DateAdd. Os números especificados como números inteiros positivos, juntamente com a fórmula. Para executar a subtração, use esses números como números negativos. Por exemplo, altere a fórmula como abaixo.

 DateAdd (intervalo, - número, data) 

Ao usar o método acima, você tentará encontrar o dia subtraindo três semanas de '28 / 3/2019 '

  • Crie um subprocedimento como subdividido.

Código:

 Sub subdate () End Sub 

  • Defina uma variável para armazenar o resultado. Data atual é uma variável como tipo de data para atribuir o resultado final.

Código:

 Sub subdate () Dim currentdate As Date End Sub 

  • Para subtrair três semanas de '28/03/2019' será aplicada a fórmula. DateAdd ("ww", -3, "28/3/2019")

Código:

 Sub subdate () Dim currentdate As Date currentdate = DateAdd ("ww", -3, "28/3/2019") End Sub 

'-3' indica que a subtração "ww" é o intervalo, pois queremos operar em semanas.

  • A fórmula é aplicada e o resultado é armazenado em data atual.

Código:

 Sub subdate () Dim currentdate As Date currentdate = DateAdd ("ww", -3, "28/3/2019") MsgBox Format (currentdate, "dd-mm-aaaa") End Sub 

  • O resultado após a subtração de três semanas da data especificada é exibido abaixo.

Coisas para lembrar

  • O intervalo e a data mencionados na fórmula serão fornecidos em aspas duplas.
  • Se você usar o intervalo dos dias da semana ”w”, ele funcionará de maneira semelhante ao dia do intervalo “d”, pois o dia da semana calcula 1 = domingo, 2 = segunda-feira etc. etc.
  • A saída será exibida de acordo com as configurações de formato da data no seu sistema. Use o formato junto com uma caixa de mensagem para imprimir o resultado no formato desejado.
  • Dentro da função VBA DateAdd, use o número como negativo para executar a subtração entre datas.

Artigos recomendados

Este é um guia para a função DateAdd do Excel VBA. Aqui discutimos os exemplos da função VBA DateAdd para adicionar e subtrair dias, meses e anos a partir da data especificada, juntamente com exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Como usar a função de data no VBA?
  2. Formato de data no Excel VBA
  3. O que é o VBA Time no Excel?
  4. Fórmula de data no Excel com exemplos

Categoria: