VBA Convertir cadena a la fecha

Tabla de contenido

Este breve tutorial demostrará cómo convertir una cadena en una fecha en VBA.

Las fechas en Excel se almacenan como números y luego se formatean para que se muestren como una fecha. El día 1 en el mundo de Excel fue el 1 de enero de 1900 (predeterminado de Windows) o el 1 de enero de 1904 (predeterminado de Macintosh), lo que significa que el 5 de agosto de 2022 es el día 44413 desde el 1 de enero de 1900. Para convertir una cadena en una fecha en Excel , primero debemos convertir la cadena en un número y luego convertir ese número en la fecha.

Función CDate

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

1234567 Sub ConvertDate ()Dim dte como singleDim strD como cadenastrD = "05/10/2020"dte = CDate (strD)MsgBox dteEnd Sub

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

Es importante que ingresemos el año utilizando los 4 dígitos del año (es decir, 2022 y no solo 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 está controlado por el Panel de control de nuestra PC.

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

1234567 Sub ConvertDate ()Dim dte As DateDim strD como cadenastrD = "05/10/2020"dte = CDate (strD)MsgBox dteEnd Sub

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

1234567 Sub ConvertDate ()Dim dte como cadenaDim strD como cadenastrD = "05/10/2020"dte = Formato (CDate (strD), "dd mmmm aaaa")MsgBox dteEnd Sub

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

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

wave wave wave wave wave