簡體   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