Función VBA DateDiff

DateDiff Descripción

Devuelve la diferencia entre dos valores de fecha, según el intervalo especificado.

Ejemplos simples de DateDiff

Aquí hay un ejemplo simple de DateDiff:

123 Sub DateDiff_Year ()MsgBox DateDiff ("aaaa", # 1/1/2019 #, # 8/1/2021 #)End Sub

Este código devolverá 2. Esta es la diferencia en el año (indicado por “yyyy”) entre 2 días. (2021 - 2022 = 2)

En el ejemplo anterior, cambiando las posiciones de date1 y date2.

123 Sub DateDiff_Year ()MsgBox DateDiff ("aaaa", # 8/1/2021 #, # 1/1/2019 #)End Sub

Este código devolverá -2.

Sintaxis de DateDiff

En el Editor de VBA, puede escribir "DateDiff (" para ver la sintaxis de la función DateDiff:

La función DateDiff contiene 5 argumentos:

Intervalo: Unidad de tiempo (días, meses, años, etc.). Ingrese como cadena. (p. ej., "m" para el mes)

Configuración Descripción
aaaa Año
q Cuarto
metro Mes
y Día del año
D Día
w Día laborable
ww Semana
h Hora
norte Minuto
s Segundo

Fecha1, Fecha2: Dos fechas que desea utilizar en el cálculo.

Primer dia de la semana: Una constante que especifica el primer día de la semana. Esto es opcional. Si no se especifica, se asume el domingo.

Constante Valor Descripción
vbUseSystem 0 Utilice la configuración de la API de NLS.
domingo 1 Domingo (predeterminado)
vbMonday 2 lunes
vbTuesday 3 martes
vb miércoles 4 miércoles
vbjueves 5 jueves
vbViernes 6 viernes
vb sábado 7 sábado

FirstWeekOfYear: Una constante que especifica la primera semana del año. Esto es opcional. Si no se especifica, se supone que la primera semana es la semana en la que ocurre el 1 de enero.

Constante Valor Descripción
vbUseSystem 0 Utilice la configuración de la API de NLS.
vbFirstJan1 1 Comience con la semana en la que ocurre el 1 de enero (predeterminado).
vbFirstFourDays 2 Comience con la primera semana que tenga al menos cuatro días en el nuevo año.
vbFirstFullWeek 3 Comience con la primera semana completa del año.

Programación VBA | ¡Code Generator funciona para usted!

Ejemplos de la función DateDiff de Excel VBA

Fechas de referencia

Para comenzar, demostraremos diferentes formas de hacer referencia a fechas usando la función VBA DateDiff.

Cada una de estas funciones de DateDiff producen el mismo resultado:

123456789 Sub DateDiff_ReferenceDates ()MsgBox DateDiff ("m", # 4/1/2019 #, # 8/1/2021 #)MsgBox DateDiff ("m", DateSerial (2019, 4, 1), DateSerial (2021, 8, 1))MsgBox DateDiff ("m", DateValue ("1 de abril de 2022"), DateValue ("1 de agosto de 2022"))End Sub

O puede hacer referencia a celdas que contienen fechas:

12345 Sub DateDiff_ReferenceDates_Cell ()MsgBox DateDiff ("m", Rango ("C2"). Valor, Rango ("C3"). Valor)End Sub

O cree y haga referencia a variables de fecha:

123456789 Sub DateDiff_Variable ()Dim dt1 como fecha, dt2 como fechadt1 = # 4/1/2019 #dt2 = # 8/1/2021 #MsgBox DateDiff ("m", dt1, dt2)End Sub

¿Cansado de buscar ejemplos de código VBA? ¡Prueba AutoMacro!

Usando diferentes unidades de intervalo

Cuarteles

123 Sub DateDiff_Quarter ()MsgBox "el número de trimestres:" & DateDiff ("q", # 1/1/2019 #, # 1/1/2021 #)End Sub

Meses

123 Sub DateDiff_Month ()MsgBox "el número de meses:" & DateDiff ("m", # 1/1/2019 #, # 1/1/2021 #)End Sub

Dias

123 Sub DateDiff_Day ()MsgBox "el número de días:" & DateDiff ("d", # 1/1/2019 #, # 1/1/2021 #)End Sub

Semanas

123 Sub DateDiff_Week ()MsgBox "el número de semanas:" & DateDiff ("w", # 1/1/2019 #, # 1/1/2021 #)End Sub

Horas

123456789101112 Sub DateDiff_Hour ()Dim dt1 como fechaDim dt2 como fechaDim nDiff tan largodt1 = # 14/8/2019 9:30:00 AM #dt2 = # 14/8/2019 1:00:00 PM #nDiff = DateDiff ("h", dt1, dt2)MsgBox "horas:" & nDiffEnd Sub

Minutos

123 Sub DateDiff_Minute ()MsgBox "mins:" & DateDiff ("n", # 8/14/2019 9:30:00 AM #, # 8/14/2019 9:35:00 AM #)End Sub

Segundos

123 Sub DateDiff_Second ()MsgBox "segundos:" & DateDiff ("s", # 14/8/2019 9:30:10 AM #, # 14/8/2019 9:30:22 AM #)End Sub

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave