Abstract

Falls Sie die Nummer für einen Monatsnamen ermitteln wollen:

sbMonatsZahl

Appendix – Programmcode sbMonatsZahl

Bitte den Haftungsausschluss im Impressum beachten.

Option Explicit

Function sbMonatsZahl(sMonat As String) As Integer
'Gibt die Monatsnummer für einen Monatsnamen zurück.
'Source (EN): http://www.sulprobil.de/sbmonthnumber_en/
'Source (DE): http://www.berndplumhoff.de/sbmonatszahl_de/
'(C) (P) by Bernd Plumhoff  19-Nov-2022 PB V0.2
Dim s As String, c1 As String, c2 As String, c3 As String, c4 As String

s = Left(LCase(sMonat) & String(4, " "), 4)
c1 = Left(s, 1)
Select Case c1
Case "a"
    c2 = Mid(s, 2, 1)
    Select Case c2
    Case "b", "p"
        sbMonatsZahl = 4 'Abrele, April, Aprilius
    Case "u"
        sbMonatsZahl = 8 'August, Augschte, Augusti
    Case Else
        sbMonatsZahl = CVErr(xlErrNum)
    End Select
Case "b"
    sbMonatsZahl = 6 'Brachet, Brachmond
Case "c", "d"
    sbMonatsZahl = 12 'Chrischtmonet, Dezember, December, Decembris, Christmond
Case "e"
    sbMonatsZahl = 8 'Erntemond
Case "f"
    sbMonatsZahl = 2 'Februar, February, Feber
Case "h"
    c2 = Mid(s, 2, 1)
    Select Case c2
    Case "a"
        sbMonatsZahl = 1 'Hartung
    Case "e"
        c3 = Mid(s, 3, 1)
        Select Case c3
        Case "r"
            sbMonatsZahl = 9 'Herbschtmonet, Herbstmond
        Case "u"
            sbMonatsZahl = 7 'Heuet, Heuert, Heumond
        Case Else
            sbMonatsZahl = CVErr(xlErrNum)
        End Select
    Case "o"
        sbMonatsZahl = 2 'Hornig, Hornung
    Case Else
        sbMonatsZahl = CVErr(xlErrNum)
    End Select
Case "j"
    c2 = Mid(s, 2, 1)
    Select Case c2
    Case "a", "ä", "e"
        sbMonatsZahl = 1 'Januar, Jänner, Jenner
    Case "u"
        c3 = Mid(s, 3, 1)
        Select Case c3
        Case "l"
            c4 = Mid(s, 4, 1)
            Select Case c4
            Case "e", "i", "y"
                sbMonatsZahl = 7 'Juli, July, Juley
            Case "m"
                sbMonatsZahl = 12 'Julmond
            Case Else
                sbMonatsZahl = CVErr(xlErrNum)
            End Select
        Case "n"
            sbMonatsZahl = 6 'Juni, June, Juno
        Case Else
            sbMonatsZahl = CVErr(xlErrNum)
        End Select
    Case Else
        sbMonatsZahl = CVErr(xlErrNum)
    End Select
Case "l"
    sbMonatsZahl = 3 'Lenzmond
Case "m"
    c2 = Mid(s, 2, 1)
    Select Case c2
    Case "a"
        c3 = Mid(s, 3, 1)
        Select Case c3
        Case "i", "y"
            sbMonatsZahl = 5 'Mai, May
        Case "r"
            sbMonatsZahl = 3 'March, Marty, Martii
        Case Else
            sbMonatsZahl = CVErr(xlErrNum)
        End Select
    Case "ä"
        c3 = Mid(s, 3, 1)
        Select Case c3
        Case "i"
            sbMonatsZahl = 5 'Mäie
        Case "r"
            sbMonatsZahl = 3 'März
        Case Else
            sbMonatsZahl = CVErr(xlErrNum)
        End Select
    Case "e"
        sbMonatsZahl = 3 'Merze
    Case Else
        sbMonatsZahl = CVErr(xlErrNum)
    End Select
Case "n"
    sbMonatsZahl = 11 'November, Nebelmond
Case "o"
    c2 = Mid(s, 2, 1)
    Select Case c2
    Case "c", "k"
        sbMonatsZahl = 10 'Oktober, October, Oktobris
    Case "s"
        sbMonatsZahl = 4 'Ostermond
    Case Else
        sbMonatsZahl = CVErr(xlErrNum)
    End Select
Case "s"
    c2 = Mid(s, 2, 1)
    Select Case c2
    Case "a"
        sbMonatsZahl = 4 'Saating
    Case "c"
        c3 = Mid(s, 3, 1)
        Select Case c3
        Case "h"
            c4 = Mid(s, 4, 1)
            Select Case c4
            Case "e"
                sbMonatsZahl = 9 'Scheiding
            Case "n"
                sbMonatsZahl = 1 'Schneemond
            Case Else
                sbMonatsZahl = CVErr(xlErrNum)
            End Select
        Case Else
            sbMonatsZahl = CVErr(xlErrNum)
        End Select
    Case "e"
        sbMonatsZahl = 9 'September, Septembris
    Case Else
        sbMonatsZahl = CVErr(xlErrNum)
    End Select
Case "w"
    sbMonatsZahl = 9 'September
    c2 = Mid(s, 2, 1)
    Select Case c2
    Case "e"
        sbMonatsZahl = 10 'Weinmond
    Case "i"
        c3 = Mid(s, 3, 1)
        Select Case c3
        Case "i"
            sbMonatsZahl = 10 'Wiimonet
        Case "n"
            sbMonatsZahl = 11 'Wintermonet
        Case Else
            sbMonatsZahl = CVErr(xlErrNum)
        End Select
    Case "o"
        sbMonatsZahl = 5 'Wonnemond
    Case Else
        sbMonatsZahl = CVErr(xlErrNum)
    End Select
Case Else
    sbMonatsZahl = CVErr(xlErrNum)
End Select
End Function

Download

Bitte den Haftungsausschluss im Impressum beachten.

sbmonatszahl.xlsm [22 KB Excel Datei, ohne jegliche Gewährleistung]