我正在尝试在 VBA 中创建一个日期。我希望它显示今天的日期为 13.04.2018。
但是,我目前只能让它显示为 13.4.2018
如何在只有一位数的日期和月份前面添加一个零?
我目前已经必须:
stDateDay = Day(Date)
stDateMonth = Month(Date)
stDateYear = Year(Date)
stDateFull = stDateDay & "." & stDateMonth & "." & stDateYear
答案1
要在 VBA 中格式化日期(或任何其他值),可以使用该Format
函数。例如:
strDateFull = Format(Date, "dd.mm.yyyy")
第二个参数是格式字符串,可以是预定义格式名称(General Date
、、Long Date
或),也可以是包含、或等符号的格式说明Medium Date
符。Short Date
dd
mm
yy
有关符号的完整列表,请参阅文档:https://msdn.microsoft.com/en-us/VBA/language-reference-vba/articles/format-function-visual-basic-for-applications
答案2
你可以尝试一下这个:
Range("A1").Value = Format(StDateFull, "dd.mm.yyyy")
或者您也可以在将 StDateFull 值传递给单元格或单元格区域之前对其进行格式化,例如:
Range("A1").NumberFormat = "dd.mm.yyyy"
Range("A:C").Select
Format$ ("dd.mm.yyyy")
Range("A1").value = stDateFull