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. Date in excel es parte integrante de nuestro trabajo diario; no podemos trabajar en Excel sin fecha, hora y otras cosas importantes. Agregar una fecha a otra, 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 la fecha real que estamos haciendo la operación aritmética.
Por ejemplo, si tiene la fecha "14-Mar-2019" y desea agregar dos 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?
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 Fin 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 se muestra el código
Código:
Sub DateAdd_Example2() 'To add months Dim NewDate As Date NewDate = DateAdd("m", 5, "14-03-2019") MsgBox Format(NewDate, "dd-mmm-yyyy") End Sub
The result will be:

Example #3 - Add Years
To add years using DateAdd, use the below code.
Code:
Sub DateAdd_Example2() 'To add year Dim NewDate As Date NewDate = DateAdd("yyyy", 5, "14-03-2019") MsgBox Format(NewDate, "dd-mmm-yyyy") End Sub
The Result will be:

Example #4 - Add Quarter
To add quarter below is the code.
Code:
Sub DateAdd_Example2() 'To add quarter Dim NewDate As Date NewDate = DateAdd("Q", 5, "14-03-2019") MsgBox Format(NewDate, "dd-mmm-yyyy") End Sub
The Result will be:

Example #5 - Add Weekday
To add weekdays below is the code.
Code:
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 the 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, and we need to supply negative numbers that are all.
Para restar 3 meses de la fecha proporcionada, a continuación se muestra el código.
Código:
Sub DateAdd_Example3 () 'Para agregar la hora Dim NewDate As Date NewDate = DateAdd ("m", -3, "14-03-2019") Formato de MsgBox (NewDate, "dd-mmm-aaaa") End Sub
El resultado de este código es:

Deduzco 3 meses desde la fecha 14 º de marzo de 2019. Se volverá a la del año anterior.