[英]Can't produce dates between two given dates keeping leading zero intact
我正在尝试生成两个日期之间的所有日期。 到目前为止,我所写的内容可以完美地生成日期,但它会从几个月和几天中剔除前导零。
我试过:
Sub GenerateCustomizedDates()
Dim FirstDate As Date, LastDate As Date, DateIter As Date
FirstDate = "01/01/2012"
LastDate = "01/30/2012"
For DateIter = FirstDate To LastDate
R = R + 1: Cells(R, 2) = Replace(DateIter, "/", "_")
Next DateIter
End Sub
我的输出是这样的:
1_1_2012
1_2_2012
1_3_2012
1_4_2012
我希望有的输出:
01_01_2012
01_02_2012
01_03_2012
01_04_2012
如何使用vba实现后期输出的格式?
使用Range.NumberFormat
应用日期格式(用反斜杠\\
转义下划线_
)。 Replace
返回一个String
; 最好在将值写入工作表后直接应用日期格式。
For DateIter = FirstDate To LastDate
Dim R As Long
R = R + 1: Cells(R, 2) = DateIter
Next DateIter
Range("B1:B" & R).NumberFormat = "mm\_dd\_yyyy"
我个人不会这样做,但您也可以使用Format(DateIter, "mm\\_dd\\_yyyy")
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.