Tecnología

Inicio

Comparación de fechas en VBA

Comparación de fechas en VBA


La comparación de fechas en Microsoft Visual Basic para aplicaciones no es diferente de la comparación de cualquier otro tipo de datos. Los valores de A COMPARAR deben ser del tipo "Fecha". Se pueden utilizar los operadores de comparación estándar: "<" para "menor que"; "<=" Para "menor o igual a"; ">" Para "mayor que"; "> =" Para "mayor que o igual a"; "=" para "igual a"; y "<>" para "no es igual a". También puede utilizar dos operadores de comparación, "es" y "IsNot."

Fecha Tipo de VBA

Es útil recordar cómo VBA almacena valores de fecha en la memoria cuando se comparan las fechas. A la fecha se almacena como un número de coma flotante de doble precisión, o una doble. La parte entera de largo es el número de días, positivos o negativos, desde el 30 de diciembre de 1899. La parte decimal es la cantidad de tiempo que ha transcurrido desde la medianoche. A la fecha, sin tiempo tiene su parte decimal se establece en cero. Por ejemplo, 1 de mayo, 1967 se almacena como 24593.0. Esto significa que cuando VBA compara dos fechas, en realidad es la comparación de dos números que representan días.

Vs. cadena de caracteres Fecha

Cuando se comparan las fechas en VBA, debe asegurarse de que los valores A COMPARAR tienen un tipo "fecha" y no son cadenas de caracteres. Por ejemplo, la cadena de caracteres "05/01/1999" es menor que la cadena de caracteres "31/12/1900" porque "05" viene antes de "12" Convertir una cadena de caracteres a un tipo de fecha utilizando la función "CDate", por ejemplo, "CDate (TextBox.Value)".

Funciones votos

Además de CDate (), hay otras funciones útiles que se pueden utilizar cuando se comparan las fechas. La función "Date ()" proporciona la fecha de hoy como un valor de fecha. La función "Ahora ()" proporciona la fecha y hora actual como un valor de fecha. Debido a que el tipo de datos de fecha también incluye un componente de tiempo, se puede extraer sólo la parte de fecha de una variable cuando se comparan las fechas utilizando la función "DateValue ()", por ejemplo, "Si el sometimiento> DateValue (fecha límite) Entonces ..."

fecha aritmética

Debido a que una fecha se almacena como el número de días desde diciembre 30, 1899, se puede incluir la aritmética de fechas cuando se comparan las fechas en VBA. Por ejemplo, si un billete vence a los tres días después de que se compró, se puede comprobar por un billete caducado con código VBA similar a la siguiente:

Función pública expiró (compra como Date) As Boolean
expirado = False
Si su compra + 3> Fecha () A continuación,
expirado = True
Terminara si
End Function