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 |