从日期输入vba获得1900的字符串输出

时间:2016-07-21 23:15:40

标签: vba date sum

我正在尝试保留某些事件发生的日期。我的数据定义方式有问题。而不是显示输出以1900格式显示的实际日期(如10/1/1900)

这是我的代码:

Dim Arr_rate As Date
Dim D(528) As Date
for i = 3 to 500
Arr_rate = -3.7 * Log(Rnd) '<~~ Arrival interval
D(2) = CDate(1 / 1 / 2006)
D(i) = D(i - 1) + Arr_rate
Worksheets("A").Cells(i, "E").Value = Cdate(D(i)) 

next i 

我试图在我的代码中使用sdate格式,但它不会以正确的格式(2006年1月1日)给出数字。如何以正确的格式打印?我已经在stackover流程中阅读了一些帖子,但没有帮助!

1 个答案:

答案 0 :(得分:1)

没有引号1\1\12006只是一个数学表达式,而不是日期。

Sub test()

    Dim Arr_rate As Date
    Dim D(528) As Date
    For i = 3 To 500
        Arr_rate = -3.7 * Log(Rnd) '<~~ Arrival interval
        '<~~ Using Cdate, then use string. Otherwise 1 / 1 / 2006 evaluates to 4.98504486540379E-04
        D(2) = CDate("1 / 1 / 2006")
        D(i) = D(i - 1) + Arr_rate
        Worksheets("Sheet1").Cells(i, "E").Value = CDate(D(i))
    Next i


End Sub