ich habe folgenden Code, um Werte aus einer Inputbox zu sortieren.
Der Code klappt bei einstelligen Zahlen auch einwandfrei.
Beispiel: Wenn der User erst eine 3, dann eine 1 und dann eine 5 angibt, so ist das Ergebnis wie folgt:
1
3
5
Korrekt!
Allerdings klappt das Sortieren nicht, wenn der User erst 133, 5, 2 angibt. Das Problem sind scheinbar mehrstellige Zahlen.
Dann ist das Ergebnis nämlich:
133
2
5
Sprich, mein Code betrachtet nur die erste Stelle bei der 133.
Kann mir hier eventuell jemand helfen, so dass das Ergebnis wir folgt aussieht?
2
5
133
Private Sub Test()
Dim arr(1 To 3) As String
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim Temp As String
For k = 1 To 3
arr(k) = InputBox("Bitte geben Sie die Zahl Nr. " & k, "Eingabe")
Next
For i = LBound(arr) To UBound(arr)
For j = i + 1 To UBound(arr)
If UCase(arr(i)) > UCase(arr(j)) Then
Temp = arr(j)
arr(j) = arr(i)
arr(i) = Temp
End If
Next j
Next i
MsgBox Join(arr, vbLf)
End Sub