Función VBA DateDiff

La función DATEDIFF en VBA es una función incorporada en VBA que también se clasifica en la función de fecha y hora en VBA, esta función se usa para obtener la diferencia entre dos fechas, esta función toma tres argumentos, el primer argumento es qué parte de la diferencia queremos que pueden ser años, días, meses o segundos y dos fechas y el resultado es un número entero.

Función DATEDIFF en VBA

La función DATEDIFF en VBA calcula la diferencia entre dos fechas en días, meses, trimestres y años.

En Excel, encontrar la diferencia entre dos fechas tiene muchas formas. No necesita una fórmula especial para calcular la diferencia entre dos fechas.

Para ver un ejemplo, mire la imagen de abajo.

Si queremos calcular la diferencia entre estas dos fechas, simplemente podemos restar la fecha 1 de la fecha 2.

Nos ha dado la diferencia entre dos fechas en varios días. Este es el problema con esta fórmula genérica. Si necesitamos la diferencia en meses, años, trimestres, etc… no puede dar.

En este artículo, le mostraremos cómo usar esta función DateDiff en VBA.

¿Qué es la función DATEDIFF en Excel VBA?

DATEDIFF en VBA significa "Diferencia de fecha entre dos fechas".

Esta función nos puede dar el número del intervalo de tiempo entre dos fechas. Cuando queremos encontrar la diferencia entre dos fechas podemos encontrarla en días, semanas, meses, trimestres, etc.

Para entender la función, mire la siguiente sintaxis de la función.

Intervalo: esto no es más que la forma en que desea calcular la diferencia de fecha. Ya sea en días, meses, semanas, trimestres, etc… A continuación se muestra la lista de los mismos.

Fecha 1: ¿Cuál es la primera fecha en la que desea encontrar la diferencia?

Fecha 2: ¿Cuál es la segunda fecha en la que desea encontrar la diferencia con la Fecha 1. Fecha 1: Cuál es la primera fecha en la que desea encontrar la diferencia?

Aquí la fórmula es Fecha 2 - Fecha 1.

[Primer día de la semana]: ¿Cuál es el primer día de la semana? Podemos seguir argumentos.

[Primera semana del año]: cuál es la primera semana del año. Podemos ingresar los siguientes argumentos.

Ejemplos de la función DATEDIFF en Excel VBA

Los siguientes son ejemplos de Excel VBA DateDiff.

Puede descargar esta plantilla de función VBA DateDiff aquí - Plantilla de función VBA DateDiff

Ejemplo n. ° 1 - Para encontrar diferencias en días

Suponga que tiene dos fechas "15-01-2018" y "15-01-2019". Busquemos todo tipo de diferencias para estas dos fechas.

Paso 1: primero cree un nombre de macro.

Código:

 Sub DateDiff_Example1 () End Sub 

Paso 2: Defina dos variables como fecha.

Código:

 Sub DateDiff_Example1 () Dim Date1 como fecha Dim Date2 como fecha final Sub 

Paso 3: Ahora para la variable Fecha1 asigne “15-01-2018” y para la variable Fecha2 asigne “15-01-2019”.

Código:

 Sub DateDiff_Example1 () Dim Date1 como fecha Dim Date2 como fecha Date1 = "15-01-2018" Date2 = "15-01-2019" End Sub 

Paso 4: Ahora, para almacenar los resultados, defina una variable más como Long.

Código:

 Sub DateDiff_Example1 () Dim Date1 como fecha Dim Date2 como fecha Dim Resultado como Long Date1 = "15-01-2018" Date2 = "15-01-2019" End Sub 

Paso 5: Ahora asigne el valor para esta variable a través de la función DATEDIFF en VBA

Código:

 Sub DateDiff_Example1 () Dim Date1 como fecha Dim Date2 como fecha Dim Resultado como Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff (End Sub 

Paso 6: El primer argumento es qué tipo de diferencia necesitamos entre estas dos fechas. Digamos que necesitamos encontrar el número de días, así que proporcione el argumento como "D".

Código:

 Sub DateDiff_Example1 () Dim Date1 como fecha Dim Date2 como fecha Dim Resultado como Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff ("D", End Sub 

Paso 7: ¿Cuál es la primera fecha para encontrar la diferencia? Nuestra primera fecha es “15-01-2018” que ya le hemos asignado a la variable “Fecha1”. Así que proporcione el nombre de la variable aquí.

Código:

 Sub DateDiff_Example1 () Dim Date1 como fecha Dim Date2 como fecha Dim Resultado como Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff ("D", Date1, End Sub 

Paso 8: ¿Cuál es la segunda fecha para encontrar la diferencia? La segunda fecha es "15-01-2019" que contiene el valor a través de la variable "Fecha2".

Código:

 Sub DateDiff_Example1 () Dim Date1 como fecha Dim Date2 como fecha Dim Resultado como 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.