Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sortierung in ComboBox zweispaltig erfolgt falsch

Sortierung in ComboBox zweispaltig erfolgt falsch
29.07.2008 09:13:46
Josef
Hallo!
mit folgendem Code werden in der cboNamen3 (ComboBox) die Werte sortiert. Ich habe jedoch in dieser CB einen zweispaltigen Eintrag. Es wird in dieser CB mit diesem code jedoch nur die erste spalte sortiert. und die zweite wird außer acht gelassen. Dadurch ensteht eine komplett falsche Zuordnung.
Wie und wo müßte ich hier bitte den Code so verändern, damit die zweite spalte mitsortiert wird?
Sortieren_CboN2 wird mit "Call Sortieren_CboN2" am Schluß des Codes von

Private Sub cboNamen3_Enter() eingefügt


Public Sub Sortieren_CboN2()
Dim i_Erster As Integer
Dim i_Letzter As Integer
Dim i_Aktuell As Integer
Dim i_Nächster As Integer
Dim s_buffer As String
With frmStellenplan.cboNamen3
If .ListCount = 0 Then Exit Sub
i_Erster = 0
i_Letzter = .ListCount - 1
For i_Aktuell = i_Erster To i_Letzter
For i_Nächster = i_Aktuell + 1 To i_Letzter
If .List(i_Aktuell) > .List(i_Nächster) Then
s_buffer = .List(i_Nächster)
.List(i_Nächster) = .List(i_Aktuell)
.List(i_Aktuell) = s_buffer
End If
Next i_Nächster
Next i_Aktuell
End With
End Sub


Danke
Josef

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

Betreff
Datum
Anwender
Anzeige
AW: Sortierung in ComboBox zweispaltig erfolgt falsch
29.07.2008 09:29:00
Rudi
Hallo,
die Daten der 2. Spalte musst du natürlich auch umschaufeln.

Public Sub Sortieren_CboN2()
Dim i_Erster As Integer
Dim i_Letzter As Integer
Dim i_Aktuell As Integer
Dim i_Nächster As Integer
Dim s_buffer1 As String
Dim s_buffer2 As String
With frmStellenplan.cboNamen3
If .ListCount = 0 Then Exit Sub
i_Erster = 0
i_Letzter = .ListCount - 1
For i_Aktuell = i_Erster To i_Letzter
For i_Nächster = i_Aktuell + 1 To i_Letzter
If .List(i_Aktuell, 0) > .List(i_Nächster, 0) Then
s_buffer1 = .List(i_Nächster, 0)
s_buffer2 = .List(i_Nächster, 1)
.List(i_Nächster, 0) = .List(i_Aktuell, 0)
.List(i_Nächster, 1) = .List(i_Aktuell, 1)
.List(i_Aktuell, 0) = s_buffer1
.List(i_Aktuell, 1) = s_buffer2
End If
Next i_Nächster
Next i_Aktuell
End With
End Sub


Gruß
Rudi

Anzeige
AW: Sortierung in ComboBox zweispaltig erfolgt falsch
29.07.2008 09:32:00
Josef
Hallo Rudi!
Danke für Deine Antwort Deine Mühe und Deine Hilfe.
Hat mir sehr geholfen. Funktioniert bereits bestens.
Schönen Tag noch
Josef

AW: Sortierung in ComboBox zweispaltig erfolgt falsch
29.07.2008 10:04:46
fcs
Hallo Josef,
du muss dann dann jeweils die 0. und 1. Spalte der Listbox beim Umsortieren neu zuweisen.
Ungetestet sieht der Code dann so aus.

Public Sub Sortieren_CboN2()
Dim i_Erster As Integer
Dim i_Letzter As Integer
Dim i_Aktuell As Integer
Dim i_Nächster As Integer
Dim s_buffer0 As String
Dim s_buffer1 As String
With frmStellenplan.cboNamen3
If .ListCount = 0 Then Exit Sub
i_Erster = 0
i_Letzter = .ListCount - 1
For i_Aktuell = i_Erster To i_Letzter
For i_Nächster = i_Aktuell + 1 To i_Letzter
If .List(i_Aktuell) > .List(i_Nächster) Then
s_buffer0 = .List(i_Nächster, 0)
s_buffer1 = .List(i_Nächster, 1)
.List(i_Nächster, 0) = .List(i_Aktuell, 0)
.List(i_Nächster, 1) = .List(i_Aktuell, 1)
.List(i_Aktuell, 0) = s_buffer0
.List(i_Aktuell, 1) = s_buffer1
End If
Next i_Nächster
Next i_Aktuell
End With
End Sub

Ansonsten im Archiv nach Sortierung von Comboboxen suchen. Da gibt es auch Lösungen für mehrspaltige Listen.
Gruß
Franz

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige