生成日期序列

时间:2015-09-25 18:00:22

标签: excel vba excel-vba

我写了一段代码,它以“mmm yy”格式的形式给出了一系列日期。例如 1月15日

For i = 1 To 20
MsgBox Format(DateAdd("m", i, "01/01/2005"), "mmm") & " " & Right(Year(Date), 2)
Next i

我遇到的问题是,当我继续增加年份时不会改变。例如,如果 i 12 那么它应该是 1月06日,但它仍然会再次给我 1月05日。我想生成从 1月05日到今天的序列,即 9月15日请提供建议。

2 个答案:

答案 0 :(得分:2)

考虑:

Sub oiudskfh()
   For i = 1 To 20
      Dim d As Date
      d = DateAdd("m", i, "01/01/2015")
      MsgBox Format(d, "mmm") & " " & Right(d, 2)
   Next i
End Sub

答案 1 :(得分:2)

创建一个变量并添加到该日期。

Private Sub CommandButton1_Click()
    Dim dDate As Date
    Dim i As Integer

    dDate = "01/01/2005"

    For i = 1 To 20
        MsgBox Format(dDate, "mmm") & " " & Right(Year(dDate), 2)
        dDate = DateAdd("m", 1, dDate)
    Next i

End Sub
相关问题