Função VBA DateDiff

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.

Para um exemplo, veja 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. Este é o problema desta 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 datas 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 seguir 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.

Você pode baixar este modelo de função VBA DateDiff aqui - modelo de função 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 para 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 

Passo 6: O primeiro argumento é o tipo de diferença 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 

Etapa 7: Qual é a primeira data para encontrar a diferença. Nossa primeira data é “15-01-2018” que já atribuímos à variável “Data1”. Portanto, forneça o nome da variável aqui.

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", Date1, End Sub 

Etapa 8: Qual é a segunda data para encontrar a diferença. A segunda data é “15-01-2019” que contém o valor através da variável “Data2”.

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", 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 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 1 year, so we got 365 days as the 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 look at the below homework for you. Find the difference between the below dates in “Months”.

If you have not found the way below is the readymade code for you.

Code:

 Sub Assignment() 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 

You can run this code manually or press the F5 key to see the result.