Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1612to1616
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
ListBox nach Datum sortieren
05.03.2018 09:28:01
Merc
Guten Morgen,
wie kann ich, möglich einfach in einer ListBox die eingefügte Liste (nach Datum absteigend) sortieren?
Im Forum habe ich schon etwas gelesen, dass eine zusätzliche Liste auf einer anderen Tabelle erstellt werden müsste. Fand ich zu kompliziert gelöst :/
Ist es einfacher lösbar?

Private Sub LISTE_LADEN_UND_INITIALISIEREN()
Dim lZeile As Long
Dim lZeileMaximum As Long
Dim i As Integer
For i = 1 To iCONST_ANZAHL_EINGABEFELDER
Me.Controls("TextBox" & i) = ""
Next i
ListBox1.Clear 'Liste leeren
ListBox1.ColumnCount = 18
ListBox1.ColumnWidths = "0;75;50;100"
lZeileMaximum = Tabelle1.UsedRange.Rows.Count
For lZeile = lCONST_STARTZEILENNUMMER_DER_TABELLE To lZeileMaximum
ListBox1.AddItem lZeile
ListBox1.List(ListBox1.ListCount - 1, 1) = CStr(Tabelle1.Cells(lZeile, 1).Text)
ListBox1.List(ListBox1.ListCount - 1, 2) = CStr(Tabelle1.Cells(lZeile, 2).Text)
ListBox1.List(ListBox1.ListCount - 1, 3) = CStr(Tabelle1.Cells(lZeile, 3).Text)
ListBox1.List(ListBox1.ListCount - 1, 4) = CStr(Tabelle1.Cells(lZeile, 4).Text)
End If
Next lZeile
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ListBox nach Datum sortieren
05.03.2018 10:18:57
Hajo_Zi
sortiere doch die Tabelle. Ist einfacher. Der Befehl Cstr() ist sinnlos.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
AW: ListBox nach Datum sortieren
05.03.2018 10:23:43
Daniel
Hi
mit AddItem kannst du Daten nicht nur am Ende einfügen, sondern an einer bestimmen Position.
Hierzu gibst du als zweiten Parameter dann diese Positionsnummer an, an der die neue Zeile eingefügt werden soll. Die alte Zeile mit dieser Nummer und alle folgenden rutschen dann eine Postion weiter.
dh du könntest noch eine innere Schleife einbauen, mit welcher du überprüfst, an welcher Stelle der Wert eingefügt werden muss.
also im Prinzip so, ich gehe mal davon aus, dass das Datum in Zeile 1 steht.
die Prüfschleife muss abgebrochen werden, wenn das Datum in der Zelle kleiner (oder größer, je nach Sortierrichtung) als das Datum in der Listbox ist.
An der Stelle muss dann die neue Zeile in die Listbox eingefügt werden.
Bei Datums- oder Zahlenwerten ist zu beachten, dass diese in der Listbox immer als Text stehen und entsprechend gewandelt werden müssen, wenn sie mit Tabellenwerten verglichen werden.
For lZeile = lCONST_STARTZEILENNUMMER_DER_TABELLE To lZeileMaximum
For i = 0 to Listbox1.ListCount - 1
IF Tabelle1.Cells(lZeile, 1).Value 

Gruß Daniel
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige