Supportnet / Forum / Tabellenkalkulation
UserForm ListBox
Frage
Hallo
ist es möglich den Inhalt einer ListBox (UserForm) nach Datum zu sortieren?
Gruß
fedjo
Antwort 1 von coros
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.
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
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
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
Hallo fedjo,
sorry, aber ich weiß nicht, was Du mit Deiner Frage
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.
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?
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
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
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
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.
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
Hallo Oliver,
es sollten aber auch keine doppelten Datumsangaben vorkommen.
Gruß
fedjo
es sollten aber auch keine doppelten Datumsangaben vorkommen.
Gruß
fedjo
Antwort 7 von coros
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.
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
Hallo Oliver,
ich habe es jetzt geschafft, die ComboBox funktioniert jetzt mit den Datumsangaben.
Danke noch mal für deine Hilfe.
Gruß
fedjo
ich habe es jetzt geschafft, die ComboBox funktioniert jetzt mit den Datumsangaben.
Danke noch mal für deine Hilfe.
Gruß
fedjo

