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 ExcelExemplo # 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 -
- Como usar a função de data no VBA?
- Formato de data no Excel VBA
- O que é o VBA Time no Excel?
- Fórmula de data no Excel com exemplos