使用 Format() 格式化为日期时,Excel 中出现溢出错误

问题描述 投票:0回答:1

我有一个vba自动化来连接一些文本,但是当我在这个特定文件中更改结果时,它一直给我“溢出”错误(在其他文件中工作正常)。

Function FormatAsDate(value As Variant, isDateColumn As Boolean) As String
    ' Format the value as a date if it's a valid date or a date serial number
    If isDateColumn And IsNumeric(value) Then
       ** FormatAsDate = Format(CDbl(value), "mm/dd/yyyy")**
    Else
        FormatAsDate = CStr(value)
    End If
End Function

我尝试使用更少的行(减少到 10 行),但什么也不使用。我的文件中是否隐藏了格式?请帮忙!

excel vba formatting buffer-overflow
1个回答
0
投票

尝试这样的事情:

If value Like "##/##/####" then Return(CDate(value))
If CLng(value) > 40000 and CLng(value) < 50000 then Return(CDate(value)) ' 2009 - 2036
If value Like "########" Then Return(DateSerial(Right(value,4), Left(value,2), Mid(Value,3,2))
Debug.Print "Error..."
© www.soinside.com 2019 - 2024. All rights reserved.