Función VBA DateAdd

Función Excel VBA DateAdd

La función DateAdd está categorizada bajo la función de fecha y hora en VBA y esta función tiene un valor de salida como una fecha, toma la entrada como un formato de fecha y la agrega a la fecha actual para devolver una nueva fecha, la sintaxis de esta función toma intervalo de tres argumentos, el número y la fecha.

Usando la función DateAdd podemos sumar y restar días, meses y años de la fecha dada. La fecha en Excel es parte integral de nuestro trabajo diario, no podemos trabajar en Excel sin fecha, hora y otras cosas importantes. Agregar una fecha a otra fecha, restar una fecha de otra es el proceso común. En la hoja de trabajo normal, simplemente hacemos operaciones aritméticas y obtenemos el resultado. En VBA tenemos la función llamada DateAdd que hará el trabajo.

Sintaxis

Intervalo: el intervalo no es más que el tipo de valor que desea sumar o restar. Por ejemplo, si quiere sumar o restar un mes, si quiere sumar o restar días, si quiere sumar o restar un año, si quiere sumar o restar un trimestre, etc.

A continuación se muestra una lista de códigos y descripciones.

  • Número: el número de meses, días o semanas (como se indica en el intervalo) que queremos sumar o restar a la fecha.
  • Fecha: El valor de fecha real que estamos haciendo la operación aritmética.

Por ejemplo, si tiene la fecha “14-Mar-2019” y desea agregar 2 días a la fecha, use el siguiente código:

DateAdd ("d", 2, "14-03-2019")

El resultado del código anterior es: 16-03-2019

¿Cómo usar la función Dateadd en VBA?

Puede descargar esta plantilla de Excel de VBA DateAdd aquí - VBA DateAdd Excel Template

Ejemplo n. ° 1 - Agregar fecha

Para iniciar el procedimiento, apliquemos la función DateAdd simple. Suponga que está trabajando con la fecha "14-03-2019".

Paso 1: Inicie el subprocedimiento creando un nombre de macro.

Paso 2: Defina la variable como Fecha.

Código:

 Sub DateAdd_Example1 () Dim Mes como fecha final Sub 

Paso 3: Para esta variable, asigne un valor.

Código:

 Sub DateAdd_Example1 () Dim NewDate As Date NewDate = End Sub 

Paso 4: Inicie la fórmula DateAdd .

Código:

 Sub DateAdd_Example1 () Dim NewDate As Date NewDate = DateAdd (End Sub 

Paso 5: ¿Cuál es la operación que queremos hacer? Queremos un día para la fecha. Entonces el intervalo es " d ".

Código:

 Sub DateAdd_Example1 () Dim NewDate As Date NewDate = DateAdd ("d", End Sub 

Paso 6: Cuántos días necesitamos agregar, tengo que agregar 5 días.

Código:

 Sub DateAdd_Example1 () Dim NewDate As Date NewDate = DateAdd ("d", 5, End Sub 

Paso 7: nuestra fecha es " 14-03-2019 "

Código:

 Sub DateAdd_Example1 () Dim NewDate As Date NewDate = DateAdd ("d", 5, "14-03-2019") End Sub 

Paso 8: muestra el resultado de la variable en el cuadro de mensaje de VBA.

Código:

 Sub DateAdd_Example1 () Dim NewDate As Date NewDate = DateAdd ("d", 5, "14-03-2019") MsgBox NewDate End Sub 

Si ejecuto este código, debería obtener la fecha como 19-03-2019.

En mi sistema, el formato de fecha es "mm-dd-aaaa", por lo que el resultado se muestra según la configuración de la fecha del sistema.

Sin embargo, podemos modificar esto aplicando la función VBA FORMAT.

Código:

 Sub DateAdd_Example1 () Dim NewDate As Date NewDate = DateAdd ("d", 5, "14-03-2019") Formato de MsgBox (NewDate, "dd-mmm-aaaa") End Sub 

Ahora el resultado debería ser así " 19-Mar-2019 ".

Ejemplo n. ° 2: agregar meses

Para agregar meses a continuación está el código

Código:

 Sub DateAdd_Example2 () 'Para agregar meses Dim NewDate As Date NewDate = DateAdd ("m", 5, "14-03-2019") Formato de MsgBox (NewDate, "dd-mmm-aaaa") End Sub 

El resultado será:

Ejemplo n. ° 3 - Agregar años

Para agregar años usando DateAdd, use el siguiente código.

Código:

 Sub DateAdd_Example2 () 'Para agregar año Dim NewDate As Date NewDate = DateAdd ("aaaa", 5, "14-03-2019") Formato de MsgBox (NewDate, "dd-mmm-aaaa") End Sub 

El resultado será:

Ejemplo n. ° 4 - Agregar trimestre

Para agregar un cuarto a continuación está el código

Código:

 Sub DateAdd_Example2 () 'Para agregar un trimestre Dim NewDate As Date NewDate = DateAdd ("Q", 5, "14-03-2019") Formato de MsgBox (NewDate, "dd-mmm-aaaa") End Sub 

El resultado será:

Ejemplo n. ° 5 - Agregar día de la semana

Para agregar días de la semana a continuación está el 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.