¿Qué es la función CDate?
Es una función de VBA que nos va a devolver una expresión del tipo date.
¿Cómo usar esta función?
La denominación general de la función CDate es la siguiente:
CDate(fecha) --> donde fecha es una expresión de fecha válida; es decir, debe ser aceptada por el sistema. Además puedes poner la hora si lo deseas.
Por ejemplo, una forma equivocada de usarlo es la siguiente:
texto = CDate("20 de Mayo del 2012")
Range("B2") = texto
El sistema nos va a rechazar esta expresion y nos va a dar un error muy frecuente al usar la función CDate
La pregunta ahora es: ¿Qué expresiones podemos usar en la función CDate?
Estos son algunos ejemplos donde la función CDate nos va a ceptar nuestras expresiones:
CDate("May 12 2012")
CDate("20 May 2010")
CDate("2010 06 May")
El orden de estos no va afectar la expresion date que nos devuelva la función; eso si, hay que tomar en cuenta como esté configurado nuestro sistema; porque eso determina los meses que nos acepta.
En inglés nos aceptara: Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
En español nos aceptara: Ene Feb Mar Abr May Jun Jul Ago Sep Oct Nov Dic
Usando otros ejemplos donde nos aceptar la función CDate.
CDate("02/06/2011")
CDate("10/25/91 15pm")
CDate("04:25:33 am")
¿En qué nos ayuda?
A no configurar las celdas a formato fecha manualmente ya que esta función lo hará por nosotros.
Ejemplos en Excel:
-----------------------
Elaborado por: Daniel Eduardo Espinoza Rodriguez
01/11/2012 a las 9:22 am
Esta funcion CDATE he usado muy poco en mi ligera experiencia en programación VBA para excel, le he dado uso a las funciones CINT, CSTR, CINT y para nada el CDATEpero me estoy enterando que es un muy util si deseamos trabajar con variables tipo fecha, definitivamente hoy he aprendido algo nuevo
03/11/2012 a las 2:35 pm
La función Cdate convierte un dato tipo caracter a tipo fecha. Es utilizado para concatenar cadenas y enviar o imprimir mensajes de texto.
24/03/2013 a las 7:01 pm
Cuando se trabajan data que incluye campos asociados a cronogramas y fechas, muchas veces uno se encuentra con fechas que esta escrita de diverso modo, o dias, meses, y anos que estan en diversos campos. Con esta funcion Cdate, se puede primero concatenar y luego convertirlas al formato que nos devolvera una expresión del tipo date.
Saludos,
Jorge Luis Rojas silva
05/06/2013 a las 12:24 pm
en mi caso uso el CDate para 3 textbox a cada una de las tres celdas pero si los inserto del mismo mes los tres uno me invierte el formato de dia-mes a mes-año
21/04/2017 a las 8:57 am
Excelente!!
funciona perfectamente!!
gracias
11/07/2017 a las 5:27 pm
para el caso de ingles no funciona manda el erro 13 CDATE("12-Apr-2017")
18/07/2018 a las 3:19 pm
Si utilizo el cdate ("01/07/18") donde 7 es el mes, en la celda del excel me grava como 07/01/18 e incluso me arroja otra fecha diferente.
Me gustaria que me puedan colaborar en identificar mi error.
30/08/2019 a las 3:19 pm
Gracias me ayudo bastante tenia un problema de en los primeros días del año me invertía el mes por el año y con CDate quedo resuelto saludos