VBA вызывает ошибку 6 Переполнение при использовании DateSerial после 1989 г. - PullRequest
0 голосов
/ 03 мая 2019

Я пытался использовать DateSerial в следующих ситуациях:

myDate = SerialDate(1969, 2, 12) в качестве примера, приведенного здесь: DateAndTime

Однако, когда я пытаюсь использовать егопосле 1990 это дает мне ошибку переполнения.

myDate = SerialDate(1990, 1, 1)

Ответы [ 2 ]

4 голосов
/ 03 мая 2019

Вам нужно 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

не будет.

4 голосов
/ 03 мая 2019

Ссылка, которую вы предоставляете, предназначена для DotNET, а не для VBA.

И функция в VBA называется DateSerial(year, month, day), а не SerialDate.
См. Функция DateSerial .

Option Explicit

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

    Debug.Print myDate 
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...