繁体   English   中英

无法在两个给定日期之间生成日期保持前导零不变

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM