VBA – Función CDate – Convertir Cadena a Fecha

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on diciembre 22, 2022

Este breve tutorial demostrará cómo convertir una Cadena a una Fecha en VBA.

Las fechas en Excel se almacenan como números, y luego se formatean para mostrarse como una fecha. El día 1 en el mundo de Excel fue el 1 de Enero de 1900 (Windows por defecto) o el 1 de Enero de 1904 (Macintosh por defecto) – lo que significa que el 5 de Agosto de 2021 es el día 44413 desde el 1 de Enero de 1900. Para convertir una cadena a una fecha en Excel, primero necesitamos convertir la cadena a un número, y luego convertir ese número a la fecha.

Función CDate

Podemos utilizar una función llamada CDate en VBA para convertir una cadena en una fecha.

Sub ConvertirFecha()
  Dim dte As Single
  Dim strD As String
  strD = "05/10/2020"
  dte = CDate(strD)
  MsgBox dte
End Sub

Como hemos declarado una variable numérica (dte como Single), el msgbox devolverá el número que hace referencia a la fecha introducida.

Código Convertir Fecha CDate

Es importante que introduzcamos el año utilizando los 4 dígitos del año (es decir, 2020 y no sólo 20), de lo contrario el número devuelto podría no ser el esperado. Excel no interpreta la parte del año de la fecha – esto lo controla el Panel de Control de nuestro PC.

Sin embargo, si declaramos las variables como una variable de fecha, el cuadro de mensaje devolverá el número convertido a una fecha.

Sub ConvertirFecha()
  Dim dte As Date
  Dim strD As String
  strD = "05/10/2020"
  dte = CDate(strD)
  MsgBox dte
End Sub

Código Convertir Fecha CDate Variable Tipo Date

Podemos llevar esto un paso más allá y formatear la fecha al tipo de formato de fecha que nos gustaría ver.

Sub ConvertirFecha()
  Dim dte As String
  Dim strD As String
  strD = "05/10/2020"
  dte = Format(CDate(strD), "dd mmmm yyyy")
  MsgBox dte
End Sub

En este ejemplo, estamos convirtiendo la cadena en una fecha, y luego de nuevo en una cadena

Convertir y Formatear Fecha en VBA

 

Si omitiéramos el año por completo, Excel asume el año actual.

Convertir y Formatear Fecha en VBA Ej2

vba-free-addin

Complemento de Ejemplos de Código de VBA

Acceda fácilmente a todos los ejemplos de código que se encuentran en nuestro sitio.

Simplemente navegue al menú, haga clic y el código se insertará directamente en su módulo. Complemento .xlam.

(¡No se requiere instalación!)

Descarga gratuita

Return to VBA Code Examples