Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

ListBox sortieren

Betrifft: ListBox sortieren von: Jonathan
Geschrieben am: 21.06.2008 12:32:40

Hey,

hab mit Hilfe von google.de zwar viele Beispiele gefunden, wie ich eine Listbox sortieren kann, allerdings waren alle nur für den Fall anzuwenden, dass die Daten in einem Sheet stehen.

Wie kann ich diese ListBox sortieren? Ich habe (Thread weiter unten) über jede Spalte einen Button erstellt, beim Klick auf diesen möchte ich nach der jeweiligen Spalte sortieren. Als zweites Sortierkriterium soll dann immer Spalte eins zu Grunde gelegt werden.

Private Sub UserForm_Initialize()
Dim DatenArbeit As Variant
'0 lfdNr
'1 Jahr
'2 Klasse + Nr
'3 Fach
'4 ArbeitNr
'5 Arbeit Name
'6 Datum

With Me.list_arbeit
    .ColumnCount = 7
    .ColumnWidths = "0,8cm;1,5cm;1,5cm;3cm;1,5cm;4,5cm;3cm"
    .Clear
End With

    Dim objSheet As Object
    If Sheets.Count > 8 Then
        For Each objSheet In ThisWorkbook.Sheets
            If objSheet.Index > 8 Then
                DatenArbeit = Split(objSheet.Name, "-")
                    Me.list_arbeit.AddItem
                    list_arbeit.List(list_arbeit.ListCount - 1, 0) = DatenArbeit(0)
                    list_arbeit.List(list_arbeit.ListCount - 1, 1) = DatenArbeit(1)
                    list_arbeit.List(list_arbeit.ListCount - 1, 2) = DatenArbeit(2) & " " &  _
DatenArbeit(3)
                    list_arbeit.List(list_arbeit.ListCount - 1, 3) = DatenArbeit(4)
                    list_arbeit.List(list_arbeit.ListCount - 1, 4) = DatenArbeit(5)
                    list_arbeit.List(list_arbeit.ListCount - 1, 5) = Sheets(objSheet.Name). _
Range("B5").Value
                    list_arbeit.List(list_arbeit.ListCount - 1, 6) = Sheets(objSheet.Name). _
Range("D1").Value
            End If
        Next
    Else
        Me.list_arbeit.AddItem "Es sind keine gespeicherten Arbeiten vorhanden."
    End If
End Sub



Jonathan

  

Betrifft: AW: ListBox sortieren von: Stempfle Leonhard
Geschrieben am: 21.06.2008 12:48:06

Hallo Jonathan,
Wenn die Daten die du in deiner Listbox sortiert haben möchtest, die nicht alle aus einem Tabellenblatt stammen, dann könnte man sich doch eine Art "Zwischenspeicher schaffen, indem du alle benötigten Daten in einer separaten Tabelle zusammenführst , dort sortierst und dann der Listbox übergibst.

Gruß Leo


  

Betrifft: AW: ListBox sortieren von: Werner R.
Geschrieben am: 21.06.2008 13:02:45

Hallo Jonathan,

ich hatte mal ein vielleicht ähnliches Problem: In einer Userform hatte ich etwa 20 Textfelder mit Vokabel-
einträgen, die ich sortieren wollte. Die habe ich dann in eine Arrayvariable ausgelesen, in der Arrayvariab-
len mit Bubblesort sortiert, die Textfelder in der Userform dann gelöscht und anschließend die sortierten
Vokabeln aus der Arrayvariablen wieder in die Textfelder der Userform eingelesen.
Ich weiß nicht, ob dieser Hinweis hilfreich sein kann. Werner R.


 

Beiträge aus den Excel-Beispielen zum Thema "ListBox sortieren"