Cree una cadena usando la función de fecha, con cero delante del día y el mes

Cree una cadena usando la función de fecha, con cero delante del día y el mes

Estoy intentando crear una fecha en VBA. Quiero que se muestre como 13.04.2018 para la fecha de hoy.

Sin embargo, actualmente solo puedo hacer que se muestre como 13.4.2018

¿Cómo incluyo un cero anterior en días y meses con un solo dígito?

Actualmente tengo que:

stDateDay = Day(Date)
stDateMonth = Month(Date)
stDateYear = Year(Date)
stDateFull = stDateDay & "." & stDateMonth & "." & stDateYear

Respuesta1

Para formatear una fecha (o cualquier otro valor) en VBA, puede usar la Formatfunción. Por ejemplo:

strDateFull = Format(Date, "dd.mm.yyyy")

El segundo parámetro es una cadena de formato que puede ser un nombre de formato predefinido ( , o General Date) Long Dateo un especificador de formato que incluye símbolos como , o .Medium DateShort Dateddmmyy

Para obtener una lista completa de símbolos, consulte la documentación:https://msdn.microsoft.com/en-us/VBA/language-reference-vba/articles/format-function-visual-basic-for-applications

Respuesta2

simplemente puedes probar esto:

Range("A1").Value = Format(StDateFull, "dd.mm.yyyy")

O también puede formatear la celda o el rango de celdas antes de pasarle el valor StDateFull como:

Range("A1").NumberFormat = "dd.mm.yyyy"

Range("A:C").Select
Format$ ("dd.mm.yyyy")

Range("A1").value = stDateFull

información relacionada