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