Tabla de contenido
En Función DateAdd de VBA se encuentra en la categoría de fecha y hora de Excel Funciones VBA Con esta función podemos sumar o restar años, meses, días, trimestres e incluso diferentes intervalos de tiempo como horas, minutos o segundos a partir de una fecha determinada. El tratamiento de la fecha y la hora en los cálculos diarios para generar informes o realizar comparaciones es una situación habitual. En Excel, el uso de funciones VBA de fecha y hora como la función DateAdd permite realizar cálculos complejos o que requieren mucho tiempo.más eficaz y rápida.
Descargar el cuaderno de prácticas
Descárgate este cuaderno de prácticas para ejercitarte mientras lees este artículo.
VBA Función DateAdd.xlsmIntroducción a la función DateAdd de Excel VBA
Resultado:
una fecha a la que se suma o resta un intervalo de tiempo específico
Sintaxis:
FechaAñadir (intervalo, número, fecha)
Argumentos:
Argumento | Obligatorio/Opcional | Descripción |
---|---|---|
intervalo | Requerido | A cadena expresión. |
El intervalo de tiempo en diferentes ajustes que queremos añadir número Requerido A numérico expresión .
En número de intervalos a sumar o restar
Puede ser positivo - para futuro fechas
Puede ser negativo - para pasado fechas fecha Requerido A fecha expresión
En fecha a la que el intervalos son añadido
Ajustes:
En Función DateAdd tiene estos ajustes de intervalo:
Configuración | Descripción |
---|---|
aaaa | Año |
q | Cuarto |
m | Mes |
y | Año del día |
d | Día |
w | Entre semana |
ww | Semana |
h | Hora |
n | Minuto |
s | Segundo |
Ejemplos de la función DateAdd de Excel VBA
Expresiones de fórmula de la función DateAdd de Excel
Hay diferentes maneras de poner el fecha argumento en el Función DateAdd. Todas dan el mismo resultado.
Ponga lo siguiente código en el Editor de Visual Basic:
(Cómo ejecutar código en el Editor de Visual Basic)
Sub add_year() Range("D3") = DateAdd("yyyy", 2, #1/1/2022#) Range("D4") = DateAdd("yyyy", 2, DateSerial(2022, 1, 1)) Range("D5") = DateAdd("yyyy", 2, DateValue("Jan 1, 2022")) Range("D6") = DateAdd("yyyy", 2, Range("B6")) End Sub
Explicación :
DateAdd("aaaa",2, uno de los siguientes métodos)
Para poner el argumento de la fecha podemos utilizar diferentes métodos:
- #1/1/2011#
- FechaSerial( año , mes, día)
- DateValue( fecha )
- Gama ("celda") - Fecha almacenada en una celda
- Almacenamiento de la fecha en una variable
En células D3, D4, D5, D6, D7 ponemos los métodos anteriores como fecha argumento del FechaAñadir secuencialmente y obtuvo el mismo resultado.
Añadimos 2 más años a 1/1/2022 que dio lugar a 1/1/2024.
Toma,
aaaa representa el año como intervalo
2 representa el número de intervalos como número .
Ayuda: Cómo ejecutar código en el editor de Visual Basic
Sigue los pasos:
- Desde el Cinta Excel Ir a Ficha Desarrollador y seleccione Visual Basic Tab.
- En la nueva ventana, haga clic en el botón Inserte y seleccione Módulo.
- Escriba su código en el editor y pulse F5 a correr.
Añadir Diferentes Configuraciones de Intervalo Usando la Función DateAdd en Excel
1. Añadir año
Código:
Sub DateAdd_Years() Rango("F5") = DateAdd("aaaa", 2, Rango("D5")) End Sub
Resultado: 2 años añadido a 1/1/2022 (mm/dd/aaaa) y dio como resultado 1/1/2024 (mm//dd/aaaa).
Más información: Cómo utilizar la función Año en Excel VBA
2. Añadir trimestre
Código:
Sub DateAdd_Quarters() Rango ("F5") = DateAdd("q", 2, Rango("D5")) End Sub
Resultado: 2 trimestres = 6 meses añadido a 1/1/2022 (mm/dd/aaaa) y dio como resultado 7/1/2022 (mm//dd/aaaa).
3. Añadir mes
Código:
Sub DateAdd_Months() Rango("F5") = DateAdd("m", 2, Rango("D5")) End Sub
Resultado: 2 meses añadido a 1/1/2022 (mm/dd/aaaa) y dio como resultado 3/1/2022 (mm//dd/aaaa).
Más información: Cómo utilizar la función MES de Excel VBA
4. Añadir día del año
Código:
Sub DateAdd_DayOfYear() Range("F5") = DateAdd("y", 2, Range("D5")) End Sub
Resultado : 2 Día del Año añadido a 1/1/2022 (mm/dd/aaaa) y dio como resultado 1/3/2022 (mm//dd/aaaa).
Más información: Cómo utilizar la función Día en Excel VBA
5. Añadir día
Código:
Sub DateAdd_Day() Rango("F5") = DateAdd("d", 2, Rango("D5")) End Sub
Resultado : 2 Días añadidos a 1/1/2022 (mm/dd/aaaa) y dio como resultado 1/3/2022 (mm//dd/aaaa).
Lecturas similares
- Excel VBA para encontrar el número de semana (6 ejemplos rápidos)
- Cómo utilizar la función DatePart de VBA en Excel (7 ejemplos)
- Utilice la función DateSerial de VBA en Excel (5 sencillas aplicaciones)
- Cómo Convertir Fecha de Cadena Usando VBA (7 Maneras)
6. Añadir día de la semana
Código:
Sub DateAdd_WeekDay() Rango("F5") = DateAdd("w", 10, Rango("D5")) End Sub
Resultado: 10 WeekDays añadidos a 1/1/2022 (mm/dd/aaaa) y dio como resultado 1/11/2022 (mm//dd/aaaa).
7. Añadir semana
Código:
Sub DateAdd_Weeks() Rango("F5") = DateAdd("ww", 2, Rango("D5")) End Sub
Resultado: 2 Semanas= 14 Días añadidos a 1/1/2022 (mm/dd/aaaa) y dio como resultado 1/15/2022 (mm//dd/aaaa).
Más información: Cómo obtener el día de la semana utilizando VBA
8. Añadir hora
Código:
Sub DateAdd_Hours() Rango("F5") = DateAdd("h", 14, Rango("D5")) End Sub
Resultado: 14 horas añadidas a 1/1/2022 12:00 HORAS (mm/dd/aaaa: hh/mm) y dio como resultado 1/1/2022 14:00 (mm//dd/aaaa : hh/mm).
9. Añadir minuto
Código:
Sub DateAdd_Minutes() Rango("F5") = DateAdd("n", 90, Rango("D5")) End Sub
Resultado : 90 Minutos= 1,30 Horas añadidas a 1/1/2022 12:00 HORAS (mm/dd/aaaa) y dio como resultado 1/1/2022 1:30 AM (mm//dd/aaaa).
10. Añadir segundo
Código:
Sub DateAdd_Seconds() Rango("F5") = DateAdd("s", 120, Rango("D5")) End Sub
Resultado: 120 segundos = 2 minutos añadidos a 1/1/2022 12:00 HORAS (mm/dd/aaaa : hh/mm) y dio como resultado 1/1/2022 12:02 AM (mm//dd/aaaa : hh/mm).
Uso de la función DateAdd en Excel para restar distintas configuraciones de intervalo
Del mismo modo, podemos restar años, meses, días, horas, minutos, etc. a partir de una fecha utilizando un signo menos en frente de la argumento numérico Por ejemplo:
Código:
Sub DateAdd_Subtract_Years() Rango("F5") = DateAdd("y", -2, Rango("D5")) End Sub
Resultado: 2 años restado de 1/1/2022 (mm/dd/aaaa) y dio como resultado 1/1/2020 (mm//dd/aaaa).
Cosas para recordar
- Cuando utilizamos 'w' añadir entre semana suma y sigue todos los días de la semana incluyendo sábado y domingo, no sólo los días laborables (alguien podría esperar).
- La función DateAdd no acaba mostrando un fecha no válida Por ejemplo, si añadimos 1 mes al 31 de enero de 2022, el resultado será el 28 de febrero de 2022, no el 31 de febrero de 2022 (no existe).
- Si restamos más de 122 años a partir de ahora un error se produciría porque la fecha de Excel comienza de 1 de enero de 1990.
- La fecha de retorno de la función DateAdd depende del Panel de control Ajustes de fecha.
- Deberíamos el argumento de fecha de la función DateAdd de acuerdo con el Calendario Propiedad Si el Calendario es Gregoriano la entrada da te argumento también debe estar en Gregoriano Del mismo modo, si el calendario está en Hijri, el argumento de la fecha debe tener el mismo formato.
Conclusión
Ahora, sabemos cómo utilizar la función VBA DateAdd en Excel. Esperemos que le anime a utilizar esta funcionalidad con más confianza. Cualquier pregunta o sugerencia no se olvide de ponerlos en el cuadro de comentarios a continuación