Sortieren Combobox VBA
Ich habe darüber nachgedacht, wie das Sortieren der Werte in eine combobox.
Ich Elemente hinzufügen, um das Kombinationsfeld, wenn ich initilize form, da die Anzahl der Werte sind stetig auf ein Blatt Papier.
Ich benutze folgenden code, um die Elemente hinzu:
With ComboBox1
lastcell = ThisWorkbook.Sheets("1").Range("F1000000").End(xlUp).Row + 1
For i = 2 To lastcell
.AddItem ThisWorkbook.Sheets("1").Cells(i, 6)
Next i
End With
Dachte ich kopieren Sie die Werte, die ich bin, gehen, um add-on die ComoBox auf einem anderen Blatt und dort Sortieren Sie Sie in das neue Blatt, es funktioniert gut, aber es scheint nicht zu sein, eine smart-option, also, ich erstelle ein weiteres Blatt und kopiere dann die Werte und Sortieren Sie diese anstelle der Sortierung direkt.
Meine Frage ist, weiß jemand wie man es direkt von der original-Platte? Ich weiß nicht, etwas von API, also, bitte, nur VBA-code. Ich alredy schauen Sie auf der MSDN-Website, aber ich kann nicht herausfinden, wie es funktioniert.
Dank und wenn mehr Infos benötigt wird, bitte, lassen Sie es mich wissen.
PS: ich kann nicht Sortieren, die Sie direkt von der original-Platte, da diese Platte werden mit einer statischen Reihenfolge
InformationsquelleAutor themolestones | 2013-03-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lesen Sie die Werte aus der Tabelle in ein array, Sortiere diese mit code und fügen Sie den Artikel.
Dieser code wird dies tun, mit einem Quicksort:
Sie brauchen nicht, um eine Schleife. Sie können
Me.ComboBox1.List = varRange
Guter Punkt, ich aktualisierte den code.
InformationsquelleAutor Peter Albert
Kommt es auf die Umstände, Art und Struktur der Daten. Aber ich bevorzuge es zu tun auf diese Weise:
Könnte man alternativ verwenden Sie ein array und bubble sort algo 🙂
ändern Sie den code ein bisschen anpassen Ihr Fall
InformationsquelleAutor
Versuchen folgenden code :
InformationsquelleAutor
für die Sortierung 123 für die Anzahl
für die Sortierung von text abcd
InformationsquelleAutor Zafar Janjua