Cuando introducimos en una celda un valor que Excel pueda reconocer como fecha, el formato de fecha es aplicado automáticamente. Pero, por debajo del formato en pantalla, Excel sigue “viendo” el número de serie que representa la fecha. Esta captura de pantalla demuestra el proceso
Esta característica puede crearnos dificultades si tenemos que diferenciar en una fórmula entre fechas y números.
Excel cuenta con varias funciones que nos permiten evaluar el tipo de datos que contiene una celda; por ejemplo: ES.PAR, ESTEXTO, ESNUMERO, etc. (todas bajo la categoría Información en el asistente de funciones). Pero no tiene una función “ESFECHA”, que nos permita establecer si la celda evaluada contiene una fecha.
La única alternativa con funciones es usar la función CELDA con el argumento “formato”. Si el resultado de la fórmula es D1, D2, D3, D4 o D5, entonces la celda evaluada contiene una fecha
Por ejemplo
Pero esta función no reconoce todos los formatos legítimos de fechas (aparentemente debido a los formatos regionales)
Una solución más práctica es crear una UDF (función definida por el usuario) aprovechando que en Vba si hay una función para reconocer fechas: IsDate
Creamos la UDF poniendo este código en un módulo común del editor (si lo guardamos en el Personal, la función estará disponible para todos los cuadernos activos)
Function contiene_fecha(rngCell As Range) As Boolean
contiene_fecha = IsDate(rngCell)
End Function
Al aplicar la función obtenemos el resultado “VERDADERO” o “FALSO” de acuerdo al contenido de la celda
Off-Topic
ResponderBorrarMe parece muy didáctico el tema de los videos. ¿Podrías decirme que programa utilizas? Me gustaría añadir algunos ejemplos para una presentación que estoy preparando.
Gracias por adelantado.
Hay varias aplicaciones, también gratuitas. Yo uso el FastStone Capture. Otra que puedes usar es el Windows Media Encoder.
ResponderBorrar