03.12.2020, 16:12
Hallo zusammen,
habe ein Projekt in Anfgriff genommen und bräuchte mal unterstützung.
Ich habe in meiner UserForm eine ListBox und möchte diese sortieren. Das habe ich noch hinbekommen.
Allerdings hat meine Ausgangstabelle eine Überschriftenzeile. Jetzt wird mir beim Sortieren immer alles ab der
2. Zeile sortiert und landet dann aber in der ersten Zeile und meine Überschrift ist weg. Zudem bin ich mir nicht sicher,
ob die zugehörigen Spalten in der Tabelle mitsortiert werden. Muß ich da vielleicht noch was ergänzen?
Mein Code zum Sortieren sieht wie folgt aus:
Private Sub UserForm_Activate()
Dim lZeile As Long ' For/Next Zeilen-Index
Dim lIndxA As Long ' For/Next Index - außen
Dim lIndxI As Long ' For/next Index - innen
Dim sTemp As String ' temporärer Zwischenspeicher
'
' ListBox zuvor löschen :
'
ListeMA.Clear
'
' ListBox mit Werten aus Spalte A füllen :
'
For lZeile = 2 To [A2].End(xlDown).Row
Me.ListeMA.AddItem Cells(lZeile, 1)
Next
'
' ListBox sortieren :
'
For lIndxA = 0 To Me.ListeMA.ListCount - 1
For lIndxI = 0 To lIndxA - 1
If Me.ListeMA.List(lIndxI) > Me.ListeMA.List(lIndxA) Then
sTemp = Me.ListeMA.List(lIndxI)
Me.ListeMA.List(lIndxI) = Me.ListeMA.List(lIndxA)
Me.ListeMA.List(lIndxA) = sTemp
End If
Next lIndxI
Next lIndxA
End Sub
Danke schon mal im voraus
Chris
habe ein Projekt in Anfgriff genommen und bräuchte mal unterstützung.
Ich habe in meiner UserForm eine ListBox und möchte diese sortieren. Das habe ich noch hinbekommen.
Allerdings hat meine Ausgangstabelle eine Überschriftenzeile. Jetzt wird mir beim Sortieren immer alles ab der
2. Zeile sortiert und landet dann aber in der ersten Zeile und meine Überschrift ist weg. Zudem bin ich mir nicht sicher,
ob die zugehörigen Spalten in der Tabelle mitsortiert werden. Muß ich da vielleicht noch was ergänzen?
Mein Code zum Sortieren sieht wie folgt aus:
Private Sub UserForm_Activate()
Dim lZeile As Long ' For/Next Zeilen-Index
Dim lIndxA As Long ' For/Next Index - außen
Dim lIndxI As Long ' For/next Index - innen
Dim sTemp As String ' temporärer Zwischenspeicher
'
' ListBox zuvor löschen :
'
ListeMA.Clear
'
' ListBox mit Werten aus Spalte A füllen :
'
For lZeile = 2 To [A2].End(xlDown).Row
Me.ListeMA.AddItem Cells(lZeile, 1)
Next
'
' ListBox sortieren :
'
For lIndxA = 0 To Me.ListeMA.ListCount - 1
For lIndxI = 0 To lIndxA - 1
If Me.ListeMA.List(lIndxI) > Me.ListeMA.List(lIndxA) Then
sTemp = Me.ListeMA.List(lIndxI)
Me.ListeMA.List(lIndxI) = Me.ListeMA.List(lIndxA)
Me.ListeMA.List(lIndxA) = sTemp
End If
Next lIndxI
Next lIndxA
End Sub
Danke schon mal im voraus
Chris