Function IdxNummi4(X1)
xNum$ = Trim$(X1)
xLen& = Len(xNum$)
xOk& = xLen& = 4 And Len(Replace(Replace(Replace(Replace(xNum$, "1", ""), "2", ""), "3", ""), "4", "")) = 0
If Not xOk& Then IdxNummi4 = 0: Exit Function ' Falls Zahl nicht korrekt: Abbruch mit RückgabeWert = 0
For ix& = 1 To xLen&
xSt4$ = xSt4$ + Chr$(ix& + 48)
Next ix&
xSt3$ = Replace$(xSt4$, Mid$(xNum$, 1, 1), "")
xSt2$ = Replace$(xSt3$, Mid$(xNum$, 2, 1), "")
xPt3& = 6 * (Mid$(xNum$, 1, 1) - 1)
xPt2& = Int((InStr(Right$(xSt3$, 2) & " " & Left$(xSt3$, 1) & Right$(xSt3$, 1) & " " & Left$(xSt3$, 2), xSt2$) - 1) / 3) * 2
xPt1& = Sgn(Mid$(xNum$, 3, 2) - xSt2$)
IdxNummi4 = xPt3& + xPt2& + xPt1& + 1
End Function
' - - - - + - - - - + - - - - + - - - - + - - - - + - - - - + - - - - + - - - - + - - - - +
Function IdxNummi5(X1)
xNum$ = Trim$(X1)
xLen& = Len(xNum$)
xOk& = xLen& = 5 And Len(Replace(Replace(Replace(Replace(Replace(xNum$, "1", ""), "2", ""), "3", ""), "4", ""), "5", "")) = 0
If Not xOk& Then IdxNummi5 = 0: Exit Function ' Falls Zahl nicht korrekt: Abbruch mit RückgabeWert = 0
For ix& = 1 To xLen&
xSt5$ = xSt5$ + Chr$(ix& + 48)
Next ix&
xSt4$ = Replace$(xSt5$, Mid$(xNum$, 1, 1), "")
xSt3$ = Replace$(xSt4$, Mid$(xNum$, 2, 1), "")
xSt2$ = Replace$(xSt3$, Mid$(xNum$, 3, 1), "")
xPt4& = 24 * (Mid$(xNum$, 1, 1) - 1)
xPt3& = Int((InStr(Replace$(xSt4$, Mid$(xSt4$, 1, 1), "") & " " & Replace$(xSt4$, Mid$(xSt4$, 2, 1), "") & " " & Replace$(xSt4$, Mid$(xSt4$, 3, 1), "") & " " & Replace$(xSt4$, Mid$(xSt4$, 4, 1), ""), xSt3$) - 1) / 4) * 6
xPt2& = Int((InStr(Right$(xSt3$, 2) & " " & Left$(xSt3$, 1) & Right$(xSt3$, 1) & " " & Left$(xSt3$, 2), xSt2$) - 1) / 3) * 2
xPt1& = Sgn(Mid$(xNum$, 4, 2) - xSt2$)
IdxNummi5 = xPt4& + xPt3& + xPt2& + xPt1& + 1
End Function