Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1188to1192
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
Comboboxen alphabetisch ordnen
Kai
Moin, ich und 3 Freunde haben ein Programm über VBA programmiert, dass das Problem des Handlungsreisenden bearbeitet. Das Programm läuft und die ermittelten Werte sind auch richtig, allerdings wollen wir es noch benutzerfreundlicher gestalten.
Deswegen würden wir gern die Comboboxen so programmieren, dass sie die eingespeicherten Städte alphabetisch auflisten. Wir würden es gern vermeiden die Datenbank zu sortieren, da sonst unsere Rechnung durcheinander kommen würde.
Das ist der Quelltext unserer Comboboxen:
With Sheets("Daten")
combolist = WorksheetFunction.Transpose(.Range(.Cells(6, 2), .Cells(.Rows.Count, 2).End(xlUp)))
End With
'Vorbereitung der Comboboxen
With Sheets("Daten")
comAnzahl.List = WorksheetFunction.Transpose(.Range(.Cells(99, 10), .Cells(.Rows.Count, 10).End(xlUp)))
End With
Es wäre super, wenn einer die passende Antwort hätte.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
such mal nach QuickSort owT
13.12.2010 17:31:09
Rudi
Inhalte Combobox-Werte alphabetisch sortieren
13.12.2010 17:53:13
NoNet
Hallo Kai,
mein Vorschlag : Lies die Werte zunächst in ein ARRAY ein, sortiere dieses und übertrage die Werte aus dem sortierten ARRAY in die Combobox. Hier ein Beispielcode dazu :
Private Sub UserForm_Activate()
Dim strOrte(), strTemp As String
Dim lngS As Long, lngT As Long, lngEZ As Long, lngLZ As Long
'Erster Wert beginnt in Zeile 1, da keine Überschrift  enthalten ist
lngEZ = 1 'Falls Überschriften in Zeile 1+2, dann ersten Wert z.B. auf 3 setzen etc.
'Letzte belegte Zeile der Spalte A abzügl. Überschriftenzeilen :
lngLZ = Cells(Rows.Count, 1).End(xlUp).Row - lngEZ + 1
ReDim strOrte(lngLZ - lngEZ + 1) 'Redimensionierung bis zum letzten Element
strOrte() = Application.Transpose(Range("A1:A" & lngLZ).Offset(lngEZ - 1)) 'Werte in Array  _
einlesen
'Orte alphabetisch sortieren :
For lngT = LBound(strOrte) To UBound(strOrte)
For lngS = LBound(strOrte) To lngT
If strOrte(lngT) 
Die Variable lngEZ gibt an, in welcher Zeile die Werte beginnen (falls darüber noch irrelevante Überschriftenzeilen enthalten sind !!)
Hier im Screenshot ist der Wert z.B. : lngEZ = 4 !!
Userbild
Gruß, NoNet
Anzeige
AW: Inhalte Combobox-Werte alphabetisch sortieren
13.12.2010 18:14:49
Kai
vielen Dank für die schnelle Antwort NoNet

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige