Função Excel VBA DateAdd
A função DateAdd é categorizada sob a função de data e hora em VBA e esta função tem um valor de saída como uma data, leva a entrada como um formato de data e adiciona-a à data atual para retornar uma nova data, a sintaxe para esta função usa intervalo de três argumentos, o número e a data.
Usando a função DateAdd, podemos adicionar e subtrair dias, meses e anos de uma determinada data. Data no excel é parte integrante do nosso trabalho diário, não podemos trabalhar no excel sem data, hora e outras coisas importantes. Adicionar uma data a outra, subtrair uma data da outra é o processo comum. Na planilha normal, simplesmente fazemos operações aritméticas e obtemos o resultado. No VBA temos a função chamada DateAdd que fará o trabalho.
Sintaxe
Intervalo: o intervalo nada mais é do que o tipo de valor que você deseja adicionar ou subtrair. Por exemplo, se você deseja adicionar ou subtrair um mês, se deseja adicionar ou subtrair dias, se deseja adicionar ou subtrair um ano, se deseja adicionar ou subtrair um trimestre, etc ...
Abaixo está uma lista de códigos e descrições.
- Número: o número de meses, dias ou semanas (conforme fornecido no intervalo) que queremos adicionar ou subtrair à data.
- Data: o valor real da data em que estamos fazendo a operação aritmética.
Por exemplo, se você tem a data “14-Mar-2019” e deseja adicionar 2 dias à data, use o código abaixo:
DateAdd (“d”, 2, “14-03-2019”)
O resultado do código acima é: 16-03-2019
Como usar a função Dateadd no VBA?
Você pode baixar este modelo VBA DateAdd Excel aqui - VBA DateAdd Excel TemplateExemplo # 1 - Adicionar Data
Para iniciar o processo, vamos aplicar a função DateAdd simples. Suponha que você esteja trabalhando com a data “14-03-2019”.
Etapa 1: inicie o subprocedimento criando um nome de macro.
Etapa 2: Defina a variável como Data.
Código:
Sub DateAdd_Example1 () Dim Mês como Data Final Sub
Passo 3: Para esta variável atribua um valor.
Código:
Sub DateAdd_Example1 () Dim NewDate As Date NewDate = End Sub
Etapa 4: inicie a fórmula DateAdd .
Código:
Sub DateAdd_Example1 () Dim NewDate As Date NewDate = DateAdd (End Sub
Etapa 5: Qual é a operação que queremos fazer. Queremos um dia para o encontro. Portanto, o intervalo é “ d ”.
Código:
Sub DateAdd_Example1 () Dim NewDate As Date NewDate = DateAdd ("d", End Sub
Etapa 6: quantos dias precisamos adicionar, tenho que adicionar 5 dias.
Código:
Sub DateAdd_Example1 () Dim NewDate As Date NewDate = DateAdd ("d", 5, End Sub
Etapa 7: Nossa data é “ 14-03-2019 ”
Código:
Sub DateAdd_Example1 () Dim NewDate As Date NewDate = DateAdd ("d", 5, "14-03-2019") End Sub
Etapa 8: Mostrar o resultado da variável na caixa de mensagem VBA.
Código:
Sub DateAdd_Example1 () Dim NewDate As Date NewDate = DateAdd ("d", 5, "14-03-2019") MsgBox NewDate End Sub
Se eu executar este código, devo obter a data como 19-03-2019.
No formato de data do meu sistema é “mm-dd-aaaa”, então o resultado é mostrado de acordo com as configurações de data do sistema.
No entanto, podemos modificar isso aplicando a função VBA FORMAT.
Código:
Sub DateAdd_Example1 () Dim NewDate As Date NewDate = DateAdd ("d", 5, "14-03-2019") MsgBox Format (NewDate, "dd-mmm-aaaa") End Sub
Agora o resultado deve ser assim “ 19-Mar-2019 ”.
Exemplo 2 - Adicionar meses
Para adicionar meses abaixo está o código
Código:
Sub DateAdd_Example2 () 'Para adicionar meses Dim NewDate As Date NewDate = DateAdd ("m", 5, "14-03-2019") MsgBox Format (NewDate, "dd-mmm-aaaa") End Sub
O resultado será:
Exemplo # 3 - Adicionar anos
Para adicionar anos usando DateAdd, use o código abaixo.
Código:
Sub DateAdd_Example2 () 'Para adicionar o ano Dim NewDate As Date NewDate = DateAdd ("aaaa", 5, "14-03-2019") MsgBox Format (NewDate, "dd-mmm-aaaa") End Sub
O resultado será:
Exemplo # 4 - Adicionar trimestre
Para adicionar um quarto abaixo está o código
Código:
Sub DateAdd_Example2 () 'Para adicionar um trimestre Dim NewDate As Date NewDate = DateAdd ("Q", 5, "14-03-2019") MsgBox Format (NewDate, "dd-mmm-aaaa") End Sub
O resultado será:
Exemplo # 5 - Adicionar dia da semana
Para adicionar dias da semana abaixo está o código
Código:
Sub DateAdd_Example2() 'To add weekdays Dim NewDate As Date NewDate = DateAdd("W", 5, "14-03-2019") MsgBox Format(NewDate, "dd-mmm-yyyy") End Sub
The Result will be:
Example #6 – Add Week
To add week below is the code
Code:
Sub DateAdd_Example2() 'To add Week Dim NewDate As Date NewDate = DateAdd("WW", 5, "14-03-2019") MsgBox Format(NewDate, "dd-mmm-yyyy") End Sub
The Result will be:
Example #7 – Add Hour
To add hour below is the code
Code:
Sub DateAdd_Example2() 'To add hour Dim NewDate As Date NewDate = DateAdd("h", 5, "14-03-2019") MsgBox Format(NewDate, "dd-mmm-yyyy hh:mm:ss ") End Sub
The Result will be
Example #8 – Subtract Date
In order to add we have supplied positive numbers, to subtract we need to supply negative numbers that are all.
In order to subtract 3 months from the supplied date below is the code.
Code:
Sub DateAdd_Example3() 'To add hour Dim NewDate As Date NewDate = DateAdd("m", -3, "14-03-2019") MsgBox Format(NewDate, "dd-mmm-yyyy") End Sub
The result of this code is:
If deduct 3 months from the date 14th March 2019 it will go back to the previous year.