gpt4 book ai didi

excel - 如何验证 YYYYMMDD 字符串是 Excel VBA 中的日期?

转载 作者:行者123 更新时间:2023-12-04 21:14:36 25 4
gpt4 key购买 nike

日期以字符串形式提供,格式为:20180503
该函数应该验证条目是:

  • 格式为 YYYYMMDD
  • 有效日期

  • 以下代码不能解决问题:
    Function formatDateYYYYMMDD(dateStr As String, dateFormat As String) As String
    Dim strToDate As Date
    strToDate = CDate(dateStr)
    If IsDate(strToDate) Then
    formatDateYYYYMMDD= format(dateStr, dateFormat)
    Else
    formatDateYYYYMMDD= "Not a date"
    End If
    End Function

    最佳答案

    也许:

    编辑 :原始 UDF 已更改,因为它不会标记某些无效的格式日期。

    Option Explicit
    Function formatDateYYYYMMDD(dateStr As String, dateformat As String) As String
    Dim strToDate As Date
    On Error GoTo invalidDate
    If Len(dateStr) = 8 And _
    Left(dateStr, 4) > 1900 And _
    Mid(dateStr, 5, 2) <= 12 And _
    Right(dateStr, 2) <= 31 Then
    formatDateYYYYMMDD = Format(CDate(Format(dateStr, "0000-00-00")), dateformat)
    Exit Function
    End If
    invalidDate: formatDateYYYYMMDD = "Not a date"
    End Function
    On Error将选择其他符合格式标准的无效日期:例如 9 月 31 日、2 月 30 日

    关于excel - 如何验证 YYYYMMDD 字符串是 Excel VBA 中的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52791874/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com