Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1192to1196
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
Inhaltsverzeichnis

Combobox Inhalt sortieren

Combobox Inhalt sortieren
Jockel
Hallo
ich lade mit folgendem Code eine Combobox:
Private Sub CommandButton8_Click()
Dim objDic As Object
Dim Bereich As Range
Dim Zelle As Range
Set objDic = CreateObject("Scripting.Dictionary")
With Sheets("Makros")
Set Bereich = .Range(.Range("A17"), .Range("A17").End(xlDown))
End With
For Each Zelle In Bereich
objDic(Zelle.Value) = 0
Next
ComboBox1.List = objDic.keys
End Sub

Nun möchte ich den Inhalt der Combobox noch sortieren, finde aber keine Sortier-Eigenschaft.
Kann mir da jemand weiter helfen ?
Danke
Jockel

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Sortier-Eigenschaft
07.01.2011 12:56:11
Rudi
Hallo,
die gibt's auch nicht.
oDict.keys in ein Array, das sortieren und dann der Liste zuweisen.
Suche nach QuickSort.
Gruß
Rudi
AW: Sortier-Eigenschaft
07.01.2011 13:05:15
Jockel
Hi,
wie findet da der Aufruf statt ? Habe beim googeln sowas gefunden:
QuickSort objDic
Das funktioniert aber nicht.
Danke
Jockel
AW: Sortier-Eigenschaft
07.01.2011 13:11:46
Rudi
Hallo,
ich hab doch geschrieben einem Array zuweisen
arrKeys=ODict.Keys
QuickSort arrKeys
Combobox1.List=arrKeys
Gruß
Rudi
AW: Sortier-Eigenschaft
07.01.2011 13:22:34
Jockel
Hi,
Sorry, ich bin aber nicht so fit in VBA. Dazu benötige ich aber noch die Function quickSort ?
Ohne die geht es doch nicht , oder verstehe ich das ganz falsch ?
Gruß
Jockel
Anzeige
AW: Sortier-Eigenschaft
07.01.2011 13:24:56
Rudi
Hallo,
natürlich brauchst du die.
Sub QuickSort(ByRef VA_array, Optional V_Low1, Optional V_high1)
On Error Resume Next
Dim V_Low2, V_high2, V_loop As Integer
Dim V_val1, V_val2 As Variant
If IsMissing(V_Low1) Then
V_Low1 = LBound(VA_array, 1)
End If
If IsMissing(V_high1) Then
V_high1 = UBound(VA_array, 1)
End If
V_Low2 = V_Low1
V_high2 = V_high1
V_val1 = VA_array((V_Low1 + V_high1) / 2)
While (V_Low2  V_val1 And _
V_high2 > V_Low1)
V_high2 = V_high2 - 1
Wend
If (V_Low2  V_Low1) Then Call _
QuickSort(VA_array, V_Low1, V_high2)
If (V_Low2 

Gruß
Rudi
Anzeige
AW: Sortier-Eigenschaft
07.01.2011 14:36:13
Jockel
Hi,
sorry, aber das Sortieren funtioniert immer noch nicht. Ich habe vergessen zu erwähnen., das die Combobox auf einer UserForm sitzt. kann es daran liegen ? Was ist daran falsch ?
Private Sub CommandButton8_Click()
Dim objDic As Object
Dim ODict As Object
Dim Bereich As Range
Dim Zelle As Range
Set objDic = CreateObject("Scripting.Dictionary")
With Sheets("Makros")
Set Bereich = .Range(.Range("A17"), .Range("A17").End(xlDown))
End With
For Each Zelle In Bereich
objDic(Zelle.Value) = 0
Next
arrKeys = ODict.Keys
QuickSort arrKeys
ComboBox1.List = arrKeys
'ComboBox1.List = objDic.Keys 'Unikate der ComboBox zuweisen
End Sub

Anzeige
AW: Sortier-Eigenschaft
07.01.2011 17:21:29
Christian
Rudi,
du fütterst das Dictionary objDic mit deinen Werten und anschließend willst du ODict sortieren. Fällt dir was auf?
Gruß
Christian
ich meinte natürlich Jockel, nicht Rudi (oT)
07.01.2011 17:29:33
Christian
AW: Sortier-Eigenschaft
07.01.2011 17:53:06
Jockel
Hi Christian,
das heist , ich muss objDic sortieren (QuickSort objDic) ?
Jockel
nee ...
07.01.2011 19:09:41
Christian
schreibe:
arrKeys = objDic.Keys
statt:
arrKeys = ODict.Keys
Gruß
Christian
Super, vielen Dank, jetzt klappts owT
07.01.2011 19:45:38
Jockel

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige