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.
Por 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 ceder.
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, la podemos encontrar en días, semanas, meses, trimestres, etc…
Para comprender la función, observe 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 estar de acuerdo con los siguientes 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.
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 entre 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 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.”

Si no ha encontrado el camino, a continuación se muestra el código prefabricado para usted.
Código:
Asignación secundaria () Dim k As Long For k = 2 to 8 Cells (k, 3) .Value = DateDiff ("M", Cells (k, 1), Cells (k, 2)) Siguiente k End Sub

Puede ejecutar este código manualmente o presionar la tecla F5 para ver el resultado.
