Función VBA CDATE

Función CDATE en VBA

VBA CDATE es una función de conversión de tipo de datos que convierte un tipo de datos que es texto o cadena en un tipo de datos de fecha. Una vez que el valor se convierte al tipo de datos de fecha, podemos jugar con cosas de fecha.

Sintaxis de CDATE

A continuación se muestra la sintaxis de la función CDATE en VBA.

Expresión: la expresión puede ser una cadena o un valor de texto o una variable que contiene un valor para convertir al tipo de datos de fecha.

CDATE identifica el formato de fecha y hora en la computadora en la que estamos trabajando y convierte el valor proporcionado al mismo tipo de datos de fecha. Si solo proporciona el día y el mes e ignora el año, la función CDATE toma el año del sistema y lo muestra junto con el día y el mes proporcionados.

Veremos más y más ejemplos en la siguiente sección.

¿Cómo usar la función CDATE en Excel VBA?

Ejemplos de función CDATE en excel vba.

Puede descargar esta plantilla de Excel de VBA CDATE aquí - Plantilla de Excel de VBA CDATE

Ejemplo 1

Antes de mostrarte el ejemplo de CDATE, mira primero el siguiente código.

Código:

 Sub CDATE_Example1 () Dim k As String k = "25-12" MsgBox k End Sub 

En lo anterior para la variable "k", he asignado el valor como "25-12". Cuando ejecuto este código, veremos el mismo valor en el cuadro de mensaje en VBA.

Pero esto se puede convertir a la fecha utilizando la función VBA CDATE. Para esto, defina una variable más como Fecha.

Código:

 Dim k1 como fecha 

Para esta variable “k1” asigne la función CDATE y proporcione la variable “k” que contiene la cadena “25-12”. Y para el cuadro de mensaje, muestre el valor de la variable "k1" en lugar de "k".

Código:

k1 = CDate (k)

Ahora ejecute el código y vea el resultado en un cuadro de mensaje.

Entonces, el resultado es “25/12/2019”.

Mire de cerca el valor que hemos suministrado, hemos suministrado “25-12” que no hemos suministrado al año.

Mientras escribía este artículo, el año actual en mi sistema era 2019, por lo que VBA CDATE convirtió el valor de cadena "25-12" hasta la fecha y le agregó el año del sistema 2019. Así que los resultados finales se leen así 25/12/2019, es decir, 25 de diciembre de 2019.

Ejemplo # 2

Ahora, mire el siguiente código.

Código:

 Sub CDATE_Example2 () Dim k As Variant Dim kResult As Date k = 43889 kResult = CDate (k) MsgBox kResult End Sub 

En el código anterior para la variable "k", he aplicado el número "43889". Todos sabemos que se trata de un número de serie, pero para otra variable "KResult" hemos convertido este valor a la fecha utilizando la función "CDATE".

El mismo resultado de la variable "kResult" que se muestra en el cuadro de mensaje.

Ejecute el código y vea la magia de la función "CDATE".

Muestra el resultado como "28/2/2020", si no está familiarizado con las fechas en Excel, debe preguntarse cómo sucedió esto.

Por ejemplo, ingrese el mismo número (43889) en una de las celdas de la hoja de cálculo.

Para ello, aplique el formato "DD-MM-AAAA".

Ahora haga clic en Aceptar y vea el resultado.

Ahora el resultado ha cambiado de un número de serie a la fecha. Debido a que hemos aplicado el formato de fecha encima del número de serie, ha mostrado la fecha respectiva.

Esto significa que el número de serie 43889 es igual a la fecha 28-02-2020.

Entonces, en nuestro código VBA, la función CDATE ha ejecutado lo mismo al convertir el valor de la cadena en un tipo de datos de fecha.

Ejemplo # 3

Para este ejemplo, mire el siguiente código.

 Sub CDATE_Example3 () Dim Value1 Dim Value2 Dim Value3 Value1 = "24 de diciembre de 2019" Value2 = # 6/25/2018 # Value3 = "18:30:48 PM" MsgBox CDate (Value1) MsgBox CDate (Value2) MsgBox CDate ( Valor3) End Sub 

Cuando ejecutamos este código, obtendremos los siguientes resultados.

Entonces, todos los valores se convierten al tipo de datos de fecha con la función CDATE.

Cosas para recordar

  • CDATE convierte solo números y valores de cadena al tipo de datos de fecha.
  • Esto es útil cuando lo usamos con otras funciones.
  • Si se proporciona un valor de tipo de datos incorrecto, obtendremos un error de no coincidencia de tipos.
  • Dado que la fecha y la hora son parte del número de serie, convierte la hora y la hora adecuada.