UserForm ListBox
Hallo
ist es möglich den Inhalt einer ListBox (UserForm) nach Datum zu sortieren?
Gruß
fedjo
Antwort schreiben
Antwort 1 von coros vom 14.06.2020, 16:45 Options
Hallo fedjo,
nur indem Du per VBA-Anweisung den Inhalt der Listbox löscht und dann die sortierten Daten erneut einliest.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von fedjo vom 14.06.2020, 17:16 Options
Hallo Coros,
danke für deine schnelle Antwort.
Ich habe jetzt die Datumsangaben in einer Hilfsspalte sortiert , sie werden dann durch Code in die ComboBox eingefügt.
Aber wie muss der Code verändert werden damit die Daten in der ComboBox nicht mehr nachträglich sortiert werden?
Gruß
fedjo
Private Sub UserForm_Initialize()
Dim ixCol As Integer
Dim ixRow As Long
Dim ixRowS As Long
Dim ixRowE As Long
Dim ixList As Integer
ixList = 0
ixCol = 12
ixRowS = 9
ixRowE = 514
ComboBox6.Clear
ComboBox6.AddItem ActiveSheet.Cells(ixRowS, ixCol).Value
For ixRow = ixRowS + 1 To ixRowE
If Not IsEmpty(ActiveSheet.Cells(ixRow, ixCol).Value) Then
For ixList = 0 To ComboBox6.ListCount - 1
If UCase(ComboBox6.List(ixList)) = UCase(ActiveSheet.Cells(ixRow, ixCol).Value) Then Exit For
If UCase(ComboBox6.List(ixList)) > UCase(ActiveSheet.Cells(ixRow, ixCol).Value) Then
ComboBox6.AddItem ActiveSheet.Cells(ixRow, ixCol).Value, ixList
Exit For
End If
Next ixList
If ixList = ComboBox6.ListCount Then
If UCase(ComboBox6.List(ixList - 1)) < UCase(ActiveSheet.Cells(ixRow, ixCol).Value) Then ComboBox6.AddItem ActiveSheet.Cells(ixRow, ixCol).Value
End If
End If
Next ixRow
End Sub
Antwort 3 von coros vom 14.06.2020, 17:20 Options
Hallo fedjo,
sorry, aber ich weiß nicht, was Du mit Deiner Frage
Zitat:
Aber wie muss der Code verändert werden damit die Daten in der ComboBox nicht mehr nachträglich sortiert werden?
meinst.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 4 von fedjo vom 14.06.2020, 17:27 Options
Hallo Oliver,
die Datumsangaben wurden ja vorher schon in der Hilfsspalte sortiert . Nach dem Einfügen in die ComboBox sortiert der Code noch einmal, dadurch werden die Daten aber wieder umsortiert.
Gruß
fedjo
Antwort 5 von coros vom 14.06.2020, 17:48 Options
Hallo fedjo,
die ganzen Abfragen kannst Du weglassen. Wenn Du die Daten bereits über eine Hilfsspalte sortiert hast, liest Du die Daten über eine Schleife mit
ComboBox6.AddItem ActiveSheet.Cells(.......
ein.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 6 von fedjo vom 14.06.2020, 17:55 Options
Hallo Oliver,
es sollten aber auch keine doppelten Datumsangaben vorkommen.
Gruß
fedjo
Antwort 7 von coros vom 14.06.2020, 18:03 Options
Hallo fedjo,
dann musst Du die über einen Code herausfiltern. Schau mal auf
meiner HP in der
Rubrik Beispieldateien und dort dann in dem
Beispiel 31 nach. Im dem Beispiel wende ich gleich am Anfang des Codes bei der 1. Schleife so eine Filterfunktion an. Du musst diese natürlich an Deine Datei anpassen.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 8 von fedjo vom 15.06.2020, 10:47 Options
Hallo Oliver,
ich habe es jetzt geschafft, die ComboBox funktioniert jetzt mit den Datumsangaben.
Danke noch mal für deine Hilfe.
Gruß
fedjo