Office: Listbox Sortierung

Helfe beim Thema Listbox Sortierung in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo an die Gruppe, ich benötige Hilfe bei der Sortierung eines ListenFeldes. Ich habe eine Listbox in einem UserForm diese wird bei der... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von icjc99, 29. September 2024.

  1. icjc99 Neuer User

    Listbox Sortierung


    Hallo an die Gruppe,

    ich benötige Hilfe bei der Sortierung eines ListenFeldes.
    Ich habe eine Listbox in einem UserForm diese wird bei der Initalisierung so gefüllt.


    Private Sub UserForm_Initialize()

    Dim Zeile As Long
    Dim i As Integer
    For i = 1 To 52
    Me.ComboBox1.AddItem i
    Next i


    Me.ListBox1.ColumnCount = 5
    'Spaltenbreute einstellen
    ListBox1.ColumnWidths = "3cm;2cm;2,4cm;7cm;2cm"
    'Schleife über alle Zeilen der Tabelle
    For Zeile = 1 To Tabelle2.Cells(Rows.Count, 1).End(xlUp).Row

    Me.ListBox1.AddItem Tabelle2.Cells(Zeile, 4)
    Me.ListBox1.List(Me.ListBox1.ListCount - 1, 0) = Tabelle2.Cells(Zeile, 1)
    Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Tabelle2.Cells(Zeile, 2)
    Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = Tabelle2.Cells(Zeile, 3)
    Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = Tabelle2.Cells(Zeile, 4)
    Me.ListBox1.List(Me.ListBox1.ListCount - 1, 4) = Tabelle2.Cells(Zeile, 5)
    Next Zeile

    'Erstes Element als Default auswählen
    Me.ListBox1.Selected(0) = True


    End Sub


    jetzt habe ich noch ein Kombinationsfeld für die Sortierung hinzugefügt.
    Jetzt möchte ich das Listenfeld über das Kombinationsfeld sortieren.
    Die Bezüge sind hier erste Spalte Kombinationsfeld zweite Spalte Listbox.
    habe mir hierzu eine Vorlage von der Copilot generieren lassen

    Private Sub ComboBox1_Change()
    ' Sortiere die ListBox, wenn eine Option im Kombinationsfeld ausgewählt wird
    If ComboBox1.Value = "Sortiere nach zweiter Spalte" Then
    SortListBoxByColumn ListBox1, 2
    End If
    End Sub

    Private Sub SortListBoxByColumn(lstBox As MSForms.ListBox, colIndex As Integer)
    Dim i As Long, j As Long
    Dim temp1 As String, temp2 As String

    ' Bubble Sort Algorithmus
    For i = 0 To lstBox.ListCount - 2
    For j = i + 1 To lstBox.ListCount - 1
    If lstBox.List(i, colIndex - 1) > lstBox.List(j, colIndex - 1) Then
    ' Tausche die Zeilen
    For col = 0 To lstBox.ColumnCount - 1
    temp1 = lstBox.List(i, col)
    temp2 = lstBox.List(j, col)
    lstBox.List(i, col) = temp2
    lstBox.List(j, col) = temp1
    Next col
    End If
    Next j
    Next i
    End Sub


    , aber ich bringe es nicht zusammen könnt ihr helfen?
    Gruß Ingo
     
  2. Klaus-Dieter Erfahrener User
    Hallo Ingo,

    bitte eine Beispieldatei zum Testen einstellen.
     
    Klaus-Dieter, 29. September 2024
    #2
  3. Klaus-Dieter Erfahrener User
    Hallo Ingo,

    in meiner Test Umgebung funktioniert das Sortieren, wenn allerdings Zahlen in der ListBox sind, werden die nach den Text-Regeln sortiert.
     
    Klaus-Dieter, 29. September 2024
    #3
  4. icjc99 Neuer User

    Listbox Sortierung

    Anbei ein Bild und eine gekürzte Excel Datei mit dem UserForm.
     
  5. Klaus-Dieter Erfahrener User
    Hallo Ingo,

    die Daten wären natürlich wichtig gewesen. Wie ich vermute, soll nach Kalenderwoche sortiert werden. Da entsteht aber das Problem, das die numerischen Werte wie Texte sortiert werden.
     
    Klaus-Dieter, 29. September 2024
    #5
  6. icjc99 Neuer User
    Hallo,
    ja du hast absolt recht nach Kalenderwochen spriche Zaheln 1,2,3,4,5.... bis 12. In dieser Spalte befinden sich nur Zahlen bzw. ich kann es so einrichten was würde es den bedeuten wenn wie nach Text sortiert wird ?
    Gruß Ingo
    Ps. Daten gehen leider nicht sind recht sensibel sorry.
     
  7. Klaus-Dieter Erfahrener User
    Hallo Ingo,

    nun das Sortierergebnis würde etwa so aussehen:

    Tabelle1

     A
    11
    210
    311
    412
    513
    614
    715
    816
    917
    1018
    1119
    122
    1320
    1421
    1522
    1623
    1724
    1825
    1926
    2027
    2128
    2229
    233


    Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8 [parse/HTML]
     
    Klaus-Dieter, 29. September 2024
    #7
  8. Klaus-Dieter Erfahrener User

    Listbox Sortierung

    Hallo Ingo,

    es reichen wenige, anonymisierte Datensätze.
     
    Klaus-Dieter, 29. September 2024
    #8
  9. icjc99 Neuer User
    ok wenn ich das Feld von einem Zahlenfeld in ein Textfeld ändere und mit 01,02,03,04...bis12 fülle, da ja keine KW berechnet werden sondern die Zahlen händisch von mir eingetragen werden müsste es klappen oder.
    Zum verständiss es wird ein Stundeplan erstellt man öffnet über eine schaltfläche das UserForm dann wählt man das Thema aus und diese wird dann in den Stundenplan geschieben. der Inhalt des Listenfeldes (Unterrichte) kommen aus einer Tabelle.
     
  10. Klaus-Dieter Erfahrener User
    Hallo Ingo,

    man kann beim Übertragen von Daten aus dem UserForm auch ein Zahlenformat erzeugen. Leider ist es schwierig, dafür nachvollziehbare Beispiele zu erstellen, wenn das alles im "luftleeren Raum" stattfinden muss, weil man keine Datei zur Verfügung hat.
     
    Klaus-Dieter, 29. September 2024
    #10
  11. icjc99 Neuer User
    Ok ich verstehe,
    Anbei die Datei, es dauert beim Start etwas da sehr viele Combofelder geladen werden müssen.
    Ich hoffe jetzt ist es besser zu verstehen.
    Das Neue UserForm ist dir ja schon bekannt.
    Gruß Ingo
     
  12. icjc99 Neuer User
    Ok klappt nicht in der Originalgrösse. Ich habe 11 Tabellenblätter gelöscht es gab für jede Woche ein Tabellenblatt dann ist die Datei aber zu groß.
     
  13. Klaus-Dieter Erfahrener User

    Listbox Sortierung

    Hallo Ingo,

    jetzt bin ich etwas verwirrt, auf dem Bild, weiter oben sieht man ein Kombinationsfeld, das es in der Datei nicht gibt. Das makro zum Sortieren habe ich auch nicht gefunden. Nun weiß ich nicht, wie ich dir helfen kann.
     
    Klaus-Dieter, 29. September 2024
    #13
  14. OilMax hat Ahnung
    Hallo Ingo,

    ich habe mir mal das Konstrukt angeschaut. Das ist natürlich alles fürchterlich umständlich angelegt. Aber alles umzubauen ist noch mehr Aufwand.
    Es wäre bei der Menge an Buttons vielleicht besser gewesen Formularsteuerelement Button zu nutzen und mittels Application.Caller über die Zelladresse die Zielzellen einer Variable zuzuweisen. Das ließe sich mit wenigen Zeilen in einer Schleife erfassen und verarbeiten.

    Nun aber zu deinem eigentlichen Problem.
    Das Sortierten soll wohl spaltenabhängig auf- oder abwärts erfolgen.
    Man kann es sicherlich mit einer Combobox machen. Besser wäre es für eine Spalte ein Label über der Listbox anzulegen und mit Recht- / Linksklick auf das Label auf- und abwärts zu sortieren. Mit einer sauber geschnitzten Quicksort Prozdeur, welche numerische Werte Textwerte und Datumswerte korrekt verarbeitet ist das kein wirklich großes Ding.
    Anbei mal die Ausführung wie man so was praktikabel sortiert.
    Die Wochentagsnamen werden, da in der Tabelle nur als Text vorhanden, natürlich als Text sortieriert.

    Gruß Uwe
     
  15. icjc99 Neuer User
    Hallo OliMax,
    finde ich sehr interessant und ich merke ich muss einmal eine komplette Datei erstellen ohne sensible Daten leider ist sie dann immer zu groß zu hochladen - ich muss mir da etwas überlegen.
    Dein Ansatz finde ich gut leider wollte ich, da es insgesamt bis zu 12 Wochen in der Listbox angezeigt werden, über das Kombinationsfeld die Woche 6 auswählen und dann wird in die Woche 6 gesprungen damit diese Unterrichte dann ausgewählt werden können. Am besten natürlich nicht über das Kombinationsfeld sondern über das Tabellenblatt in welchem man sich gerade befindet Woche 1, Woche 2ect. (aber das ist wohl zuviel verlangt) ; )
    Jedoch hast du jetzt auch mein interresse geweckt die Tabelle zu vereinfachen. Formularsteuerelemet hatte ich versucht kann aber nur eine Spalte in der Auswahl anzeigen und Vergrössert bzw. verkleinert nicht bei einer Ansichtveränderung. Application.celler werde ich mich mal einlesen da beim Start die Datei doch sehr lange braucht bis alle Kombifelder gefüllt sind.
    Vieleicht konnte ich mich etwas besser ausdrücken?
    Gruß Ingo
     
Thema:

Listbox Sortierung

Die Seite wird geladen...
  1. Listbox Sortierung - Similar Threads - Listbox Sortierung

  2. Suchfunktion für Listbox in Textbox

    in Microsoft Excel Hilfe
    Suchfunktion für Listbox in Textbox: Hallo an alle hier im Forum, ich bastel mal wieder ein wenig rum. Ich habe ein 2 spaltige Listbox. In der 1. Spalte stehen Zahlen von einstellig bis sechsstellig und in der 2. Spalte Namen. Im...
  3. Listbox befüllen

    in Microsoft Excel Hilfe
    Listbox befüllen: Hallo mein Name ist Carsten und ich bin neu hier im Forum und habe gleich eine Frage. Ich habe eine Userform mit verschiedenen voneinander abhängigen Listboxen. Das klappt auch soweit. Nur der...
  4. Listbox füllen wenn zelle daneben leer

    in Microsoft Excel Hilfe
    Listbox füllen wenn zelle daneben leer: Moin Moin zusammen, Ich möchte eine Listbox mit der Spalte A befüllen aber nur mit den Werten B leer ist. z.B A2 = 123 B2 = Test A3 = 321 B3 = Nun sollte in der ListBox nur der Wert...
  5. Ordnernamen, die Kriterien erfüllen in Listbox aufführen

    in Microsoft Excel Hilfe
    Ordnernamen, die Kriterien erfüllen in Listbox aufführen: Hallo Zusammen, ich suche nach einer function, mit der ich alle Ordner (ab einem fest vorgegebenen Startverzeichnis), deren Namen gewisse mehrere Kriterien enthalten (z.B. : beginnend mit...
  6. Suchfunktion in Listbox

    in Microsoft Excel Hilfe
    Suchfunktion in Listbox: Hallo zusammen, bin ein Neuling was VBA angeht und habe folgendes Problem. Über Double Click öffnet sich eine neue Userform und die Daten der Zeile füllen Textboxen aus. Das funktioniert alles....
  7. ListBox generiert selbstsändig Leerzeilen

    in Microsoft Excel Hilfe
    ListBox generiert selbstsändig Leerzeilen: Hallo zusammen, ich habe folgendes, dringendes Problem: Ich habe eine mehrspaltige ListBox erstellt die mit Daten aus einer Tabelle gefüttert wird. Dabei hab ich das ganze so programmiert dass...
  8. Listenfeld in Word 2016

    in Microsoft FrontPage Hilfe
    Listenfeld in Word 2016: Hallo, leider konnte ich keinen Eintrag zu meinem Problem finden: Wegen der größeren Länge von Texten kann ich nicht nur einfach eine listbox verwenden. Die listbox zur Auswahl der Alternativen...
Schlagworte:
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden