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 Format
funció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 Date
o un especificador de formato que incluye símbolos como , o .Medium Date
Short Date
dd
mm
yy
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