ListBox Inhalt fortlaufend sortieren

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
ListBox
Bild

Betrifft: ListBox Inhalt fortlaufend sortieren
von: Marco
Geschrieben am: 12.11.2003 13:20:13

Hi Leute,

mit den folgenden zwei Makros werden bei mir die Tabellenblätter in der Datei in einer ListBox sortiert.
Nur leider nicht fortlaufend (z.B. 1,2,3,4.....10,11,12.....21,22...) sonder immer nach der ersten Zahl (z.B. 1,11,110,111,112,12,128...).
Könnt Ihr mir helfen das so zu ändern, das er fortlaufend sortiert?

Hier die zwei Makros:


Sub FillListSorted()
   Dim myArray() As Variant
      ReDim myArray(ActiveSheet.ListBox1.ListCount - 1)
      For i = 0 To ActiveSheet.ListBox1.ListCount - 1
         myArray(i) = ActiveSheet.ListBox1.List(i, 0)
      Next
      ActiveSheet.ListBox1.Clear
      sort_bubble myArray
      ActiveSheet.ListBox1.List() = myArray
   End Sub





Sub sort_bubble(ByRef data() As Variant)
   Dim OG&, i&, h As Variant
   OG = UBound(data)
   Do
      For i = 0 To OG - 1
         If data(i) > data(i + 1) Then
            h = data(i)
            data(i) = data(i + 1)
            data(i + 1) = h
         End If
      Next i
      OG = OG - 1
      Loop While OG > 1
   End Sub




Danke

Marco
Bild


Betrifft: AW: ListBox Inhalt fortlaufend sortieren
von: Coach
Geschrieben am: 13.11.2003 10:30:59

Hallo Marco,

Du brauchst nur die Sortierung wie folgt ändern:

Sub sort_bubble(ByRef data() As Variant)
   Dim OG&, i&, h As Variant
   OG = UBound(data)
   Do
      For i = 0 To OG - 1
         If IsNumeric(data(i)) And IsNumeric(data(i + 1)) Then
            If Val(data(i)) > Val(data(i + 1)) Then
                h = data(i)
                data(i) = data(i + 1)
                data(i + 1) = h
            
            End If
         ElseIf (data(i) > data(i + 1)) Then
                h = data(i)
                data(i) = data(i + 1)
                data(i + 1) = h
         End If
      Next i
      OG = OG - 1
      Loop While OG > 1
   End Sub

Dann werden zuerst numerische Werte numerisch aufsteigend und danach alphanumerische alphanumerisch aufsteigend gelistet.

Gruß Coach


Bild


Betrifft: AW: ListBox Inhalt fortlaufend sortieren
von: Marco
Geschrieben am: 13.11.2003 11:03:12

Danke


Bild

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