300 Ejemplos

Comparar fechas y horas

Compare Dates Times

Este ejemplo le enseña a comparar fechas y horas en Excel VBA . Las fechas y horas se almacenan como números en Excel y cuentan el número de días desde el 0 de enero de 1900. Lo que ve depende del formato del número.





1. Ingrese algunos números en la columna A.

Números





2. Estos números son fechas. Esta es una manera perfecta de ingresar algunas fechas sin preocuparse por el formato de la fecha. Cambie el formato a Fecha (haga clic con el botón derecho en el encabezado de la columna A, Dar formato a celdas y elija Fecha).

Resultado:



fechas

Nota: las fechas están en formato de EE. UU. Meses primero, días segundo. Este tipo de formato depende de la configuración regional de Windows.

Coloque un Botón de comando en su hoja de trabajo y agregue las siguientes líneas de código:

cómo congelar la fila superior y la primera columna

3. Declare la variable i de tipo Integer.

NingunoIComoEntero

4. Agregue un bucle For Next.

Parai = 1 a 5

próximoI

5. La función Fecha devuelve la fecha actual sin la hora. Agregue la siguiente línea de código al bucle para resaltar todas las celdas que contienen la fecha actual (13/03/2020).

SiCeldas (i, 1) .Value = FechaLuegoCeldas (i, 1) .Font.Color = vbRed

Resultado:

Fechas iguales a

6. Agregue la siguiente línea de código al bucle para resaltar todas las fechas anteriores al 19/04/2019.

SiCeldas (i, 1) .ValorLuegoCeldas (i, 1) .Font.Color = vbRed

Resultado:

Fechas anteriores a

¿Cómo se crea un diagrama de dispersión en Excel?

7. Pero qué pasa con los tiempos, te escuchamos decir. Son los decimales. Vuelva al formato General y cambie los números a números decimales.

Numeros decimales

8. Ahora cambie el formato al formato 'Fecha y hora'.

Formato de fecha y hora

Resultado:

Fechas y Horarios

9. Si desea resaltar todas las celdas que contienen la fecha actual, ya no podemos usar la línea de código en 5. ¿Por qué no? Porque los números de la columna A ahora son números decimales. Comparándolo con Date (un número entero) no daría ninguna coincidencia. (¡Solo daría una coincidencia con el 13/03/2020 exactamente a la medianoche!) La siguiente línea de código funciona:

SiInt (Cells (i, 1) .Value) = FechaLuegoCeldas (i, 1) .Font.Color = vbRed

Explicación: simplemente usamos la función Int. La función Int redondea un número hacia abajo al entero más cercano. De esta manera podemos obtener las fechas sin las horas y comparar estas fechas con Date.

Resultado:

Fechas sin tiempos iguales a

10. Agregue la siguiente línea de código para resaltar todas las celdas que contienen horas en la mañana.

Si(Celdas (i, 1) .Valor - Int (Celdas (i, 1) .Valor))<0.5 LuegoCeldas (i, 1) .Font.Color = vbRed

Explicación: solo necesitamos los decimales, entonces restamos la parte entera. El mediodía (a la mitad del día) se representa como 0,5. Los decimales inferiores a 0,5 son los tiempos de la mañana.

Resultado:

conversión de tarjeta de tiempo decimal a minutos

Tiempos de la mañana

2/8 Completado! Obtenga más información sobre fechas y horarios>
Ir al capítulo siguiente: Eventos



^