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.
![](https://cdn.know-base.net/6190076/vba_cdate_how_to_use_cdate_in_excel_vba_with_examples_2.png.webp)
Expresión: la expresión puede ser una cadena o un valor de texto o una variable que contiene un valor que se va a 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, entonces la función CDATE toma el año del sistema, lo muestra junto con el día y el mes proporcionados.
Veremos más y más ejemplos en la siguiente sección.
![](https://cdn.know-base.net/6190076/vba_cdate_how_to_use_cdate_in_excel_vba_with_examples.png.webp)
¿Cómo usar la función CDATE en Excel VBA?
Ejemplos de función CDATE en Excel VBA.
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
![](https://cdn.know-base.net/6190076/vba_cdate_how_to_use_cdate_in_excel_vba_with_examples_3.png.webp)
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.
![](https://cdn.know-base.net/6190076/vba_cdate_how_to_use_cdate_in_excel_vba_with_examples_4.png.webp)
Pero esto se puede convertir a la fecha usando la función VBA CDATE, para esto defina una variable más como Fecha.
Código:
Dim k1 como fecha
![](https://cdn.know-base.net/6190076/vba_cdate_how_to_use_cdate_in_excel_vba_with_examples_5.png.webp)
Para esta variable, "k1" asigna la función CDATE y proporciona 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)
![](https://cdn.know-base.net/6190076/vba_cdate_how_to_use_cdate_in_excel_vba_with_examples_6.png.webp)
Ahora ejecute el código y vea el resultado en un cuadro de mensaje.
![](https://cdn.know-base.net/6190076/vba_cdate_how_to_use_cdate_in_excel_vba_with_examples_7.png.webp)
Entonces, el resultado es “25/12/2019”.
Observe de cerca el valor que le hemos proporcionado. Hemos suministrado “25-12” que no hemos suministrado 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 como esta 25.12.2019 es decir, 25 ° de diciembre de año 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
![](https://cdn.know-base.net/6190076/vba_cdate_how_to_use_cdate_in_excel_vba_with_examples_8.png.webp)
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" se muestra en el cuadro de mensaje.
Ejecute el código y vea la magia de la función "CDATE".
![](https://cdn.know-base.net/6190076/vba_cdate_how_to_use_cdate_in_excel_vba_with_examples_9.png.webp)
Muestra el resultado como "28/02/2020" si no está familiarizado con las fechas en Excel, entonces 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.
![](https://cdn.know-base.net/6190076/vba_cdate_how_to_use_cdate_in_excel_vba_with_examples_10.png.webp)
Para ello, aplique el formato como "DD-MM-AAAA".
![](https://cdn.know-base.net/6190076/vba_cdate_how_to_use_cdate_in_excel_vba_with_examples_11.png.webp)
Ahora haga clic en Aceptar y vea el resultado.
![](https://cdn.know-base.net/6190076/vba_cdate_how_to_use_cdate_in_excel_vba_with_examples_12.png.webp)
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
![](https://cdn.know-base.net/6190076/vba_cdate_how_to_use_cdate_in_excel_vba_with_examples_13.png.webp)
Cuando ejecutamos este código, obtendremos los siguientes resultados.
![](https://cdn.know-base.net/6190076/vba_cdate_how_to_use_cdate_in_excel_vba_with_examples.gif)
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 forman parte del número de serie, convierte tanto la hora como la hora adecuada.