A função DATEDIFF no VBA é uma função embutida no VBA que também é categorizada na função de data e hora no VBA, esta função é usada para obter a diferença entre duas datas, esta função leva três argumentos o primeiro argumento é a parte da diferença que queremos que podem ser anos, dias, meses ou segundos e duas datas e o resultado é um número inteiro.

Função DATEDIFF em VBA
A função DATEDIFF em VBA calcula a diferença entre duas datas em dias, meses, trimestres e anos.
No Excel, encontrar a diferença entre duas datas tem várias maneiras. Você não precisa de uma fórmula especial para calcular a diferença entre duas datas.
Por exemplo, olhe para a imagem abaixo.

Se quisermos calcular a diferença entre essas duas datas, podemos simplesmente subtrair a data 1 da data 2.

Isso nos deu a diferença entre duas datas em vários dias. Esse é o problema dessa fórmula genérica. Se precisarmos da diferença em meses, anos, trimestres, etc. … não pode ceder.
Neste artigo, mostraremos como usar essa função DateDiff no VBA.
O que é a função DATEDIFF no Excel VBA?
DATEDIFF em VBA significa “Diferença de data entre duas datas”.
Esta função pode nos dar o número do intervalo de tempo entre duas datas. Quando queremos encontrar a diferença entre duas datas, podemos encontrá-la em dias, semanas, meses, trimestres, etc …
Para entender a função, observe a sintaxe da função abaixo.

Intervalo: Isso nada mais é que de que maneira você deseja calcular a diferença de data. Seja em dias, meses, semanas, trimestres, etc. … Abaixo está a lista dos mesmos.

Data 1: Qual é a primeira data em que você deseja encontrar a diferença.
Data 2: Qual é a segunda data em que você deseja encontrar a diferença da Data 1. Data 1: Qual é a primeira data em que deseja encontrar a diferença.
Aqui, a fórmula é Data 2 - Data 1.
(Primeiro dia da semana): Qual é o primeiro dia da semana? Podemos concordar com os seguintes argumentos.

(Primeira semana do ano): Qual é a primeira semana do ano. Podemos inserir os seguintes argumentos.

Exemplos de função DATEDIFF no Excel VBA
A seguir estão os exemplos do Excel VBA DateDiff.
Exemplo # 1 - Para Encontrar Diferenças em Dias
Suponha que você tenha duas datas, “15-01-2018” e “15-01-2019”. Vamos encontrar todos os tipos de diferenças entre essas duas datas.
Etapa 1: primeiro crie um nome de macro.
Código:
Sub DateDiff_Example1 () End Sub
Etapa 2: definir duas variáveis como data.
Código:
Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date End Sub

Passo 3: Agora, para a variável Date1, atribua “15-01-2018” e para a variável Date2, atribua “15-01-2019”.
Código:
Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Date1 = "15-01-2018" Date2 = "15-01-2019" End Sub

Passo 4: Agora, para armazenar os resultados, defina mais uma variável como Long.
Código:
Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" End Sub

Passo 5: Agora atribua o valor para esta variável por meio da função DATEDIFF no VBA
Código:
Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff (End Sub

Etapa 6: o primeiro argumento é o tipo de diferença de que precisamos entre essas duas datas. Digamos que precisamos encontrar o número de dias, então forneça o argumento como “D”.
Código:
Sub DateDiff_Example1() Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result =DateDiff("D", End Sub

Step 7: What is the first date to find the difference. Our first date is “15-01-2018” that we have already assigned to the variable “Date1”. So supply the variable name here.
Code:
Sub DateDiff_Example1() Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result =DateDiff("D",Date1, End Sub

Step 8: What is the second date to find the difference. The second date is “15-01-2019,” which holds the value through variable “Date2”.
Code:
Sub DateDiff_Example1() Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff("D", Date1, Date2) End Sub

Step 9: Ignore the last two parameters. Now assign the value of variable “Result” through the VBA message box.
Code:
Sub DateDiff_Example1() Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff("D", Date1, Date2) MsgBox Result End Sub

Now run the code using the F5 key or manually, we will get the difference between these two dates in a number of days.

So, from “15-01-2018” to 15-01-2019,” the exact difference is one year, so we got 365 days as a result.
Like this, we can find the difference between two dates in time intervals.
Example #2 - To Find Difference in Months
Code:
Sub DateDiff_Example2() Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff("M", Date1, Date2) MsgBox Result End Sub
Run this code Using the F5 key, or you can run manually to show the result as given below.

Example #3 - To Find Difference in Years
Code:
Sub DateDiff_Example3() Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff("YYYY", Date1, Date2) MsgBox Result End Sub
Run this code using the F5 key or manually to see the result.

Assignment as a Practice
I hope you have understood the function of VBA DATEDIFF. Take a look at the below homework for you. Find the difference between the below dates in “Months.”

Se você não encontrou o caminho, abaixo está o código pronto para você.
Código:
Subatribuição () Dim k As Long For k = 2 To 8 Cells (k, 3) .Value = DateDiff ("M", Cells (k, 1), Cells (k, 2)) Next k End Sub

Você pode executar este código manualmente ou pressionar a tecla F5 para ver o resultado.
