在1989年之后使用DateSerial时,VBA调用错误6溢出

时间:2019-05-03 11:56:24

标签: excel vba

在这种情况下,我一直尝试使用DateSerial:

myDate = SerialDate(1969, 2, 12)作为此处提供的示例:DateAndTime

但是,当我在1990年以后尝试使用它时,会出现溢出错误。

myDate = SerialDate(1990, 1, 1)

2 个答案:

答案 0 :(得分:4)

您提供的链接用于DotNET,而不用于VBA。

VBA中的函数称为DateSerial(year, month, day)而不是SerialDate
参见DateSerial function

Option Explicit

Public Sub TestDate()
    Dim myDate As Date
    myDate = DateSerial(1969, 2, 12) 'February 12ᵗʰ 1969

    Debug.Print myDate 
End Sub

答案 1 :(得分:4)

您需要正确Dim myDate

此:

Sub ThisFail()
    Dim myDate As Integer
    myDate = DateSerial(1990, 1, 1)
End Sub

将溢出。这个:

Sub ThisWorks()
    Dim myDate As Date
    myDate = DateSerial(1990, 1, 1)
End Sub

不会。