VB6: Rangfolge von Zahlen in einer FlexGrid-Zeile

Nachtrag
Hallo,

nun sind im Beispiel auch leere Felder, die nach hinten geschoben werden …

Gruß Rainer

Option Explicit

Private Sub Command1\_Click()
 Dim i As Integer
 'sortieren
 For i = 0 To MSFlexGrid1.Cols - 1
 If Trim(MSFlexGrid1.TextMatrix(1, i)) = "" Then
 MSFlexGrid1.TextMatrix(1, i) = "99"
 End If
 Next
 QuickSort 0, 9
 'Range ermitteln und eintragen
 MSFlexGrid1.TextMatrix(2, 0) = 1
 For i = 1 To 9
 If MSFlexGrid1.TextMatrix(1, i - 1) = MSFlexGrid1.TextMatrix(1, i) Then
 MSFlexGrid1.TextMatrix(2, i) = MSFlexGrid1.TextMatrix(2, i - 1)
 Else
 MSFlexGrid1.TextMatrix(2, i) = i + 1
 End If
 Next
 For i = 0 To MSFlexGrid1.Cols - 1
 If MSFlexGrid1.TextMatrix(1, i) = "99" Then
 MSFlexGrid1.TextMatrix(1, i) = ""
 End If
 Next
End Sub

Private Sub QuickSort(ByVal LB As Long, ByVal UB As Long)
 Dim P1 As Long, P2 As Long, Ref As Integer, TEMP As String, i As Integer

 P1 = LB
 P2 = UB
 Ref = MSFlexGrid1.TextMatrix(1, ((P1 + P2) / 2))

 Do
 Do While MSFlexGrid1.TextMatrix(1, P1) Ref
 P2 = P2 - 1
 Loop

 If P1 P2)

 If LB 0 Then
 MSFlexGrid1.TextMatrix(1, i) = r
 Else
 MSFlexGrid1.TextMatrix(1, i) = ""
 End If
 Next
End Sub