Как преобразовать строку «01 / May / 2020» в значение даты - PullRequest
0 голосов
/ 02 мая 2020

Как мне преобразовать строку "01 / May / 2020" в значение даты в VBA? Я использую версию Excel на голландском языке.

Функция DateValue () возвращает ошибку типа ..

1 Ответ

0 голосов
/ 02 мая 2020

Может быть, вы можете использовать функцию, как показано ниже:

Function GetMonth(ByVal dateString As String) As Date

    Dim dateStr As String, mStr As String, dVals() As String, mMumber As String

    dVals = Split(dateString, "/")
    If UBound(dVals) > 1 Then
        mStr = dVals(1)
        Select Case mStr
            Case "January"
                mMumber = "01"
            Case "February"
                mMumber = "02"
            Case "March"
                mMumber = "03"
            Case "April"
                mMumber = "04"
            Case "May"
                mMumber = "05"
            Case "June"
                mMumber = "06"
            Case "July"
                mMumber = "07"
            Case "August"
                mMumber = "08"
            Case "September"
                mMumber = "09"
            Case "October"
                mMumber = "10"
            Case "November"
                mMumber = "11"
            Case "December"
                mMumber = "12"
        End Select
        dateStr = dVals(0) & "/" & mMumber & "/" & dVals(2)
        If IsDate(dateStr) Then
            GetMonth = dateStr
        End If
    End If

End Function

Sub Test()

    Dim dStr As String
    Dim dDate As Date

    dStr = "01/May/2020"
    dDate = GetMonth(dStr)

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