Estou tentando criar uma data no VBA. Quero que seja exibido como 13/04/2018 para a data de hoje.
No entanto, atualmente só consigo exibi-lo como 13.4.2018
Como incluo um zero anterior em dias e meses com um único dígito?
Atualmente tenho que:
stDateDay = Day(Date)
stDateMonth = Month(Date)
stDateYear = Year(Date)
stDateFull = stDateDay & "." & stDateMonth & "." & stDateYear
Responder1
Para formatar uma data (ou qualquer outro valor) em VBA, você pode usar a Format
função. Por exemplo:
strDateFull = Format(Date, "dd.mm.yyyy")
O segundo parâmetro é uma string de formato que pode ser um nome de formato predefinido ( General Date
, Long Date
, Medium Date
ou Short Date
) ou um especificador de formato incluindo símbolos como dd
, mm
ou yy
.
Para obter uma lista completa de símbolos, consulte a documentação:https://msdn.microsoft.com/en-us/VBA/linguagem-referência-vba/articles/format-function-visual-basic-for-applications
Responder2
simplesmente você pode tentar isso:
Range("A1").Value = Format(StDateFull, "dd.mm.yyyy")
Ou você também pode formatar a célula ou intervalo de células antes de passar o valor StDateFull para ela, como:
Range("A1").NumberFormat = "dd.mm.yyyy"
Range("A:C").Select
Format$ ("dd.mm.yyyy")
Range("A1").value = stDateFull