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 TemplateEjemplo 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.