Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1008to1012
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

cbo Sortieren und suchen

cbo Sortieren und suchen
19.09.2008 13:01:00
Captain
Hi,
Ich habe auf meiner UF eine ComboBox mit vielenvielen Einträgen (Namen ala: Heinz, P. usw)
1. Frage:
Wie kann ich die ComboBox nun nach dem Anfangsbuchstaben sortieren lassen?
--> Es müsste schon in der ComboBox sein, da ich die Namen aus verschiedenen Tabellen nach bestimmten Kriterien einlesen lasse.
2. Frage:
Ich würde dann gerne über eine TextBox nacheinander Buchstaben (Name) eingeben und die Namen in der Combobox sollte sich dann automatisch an den Namen anpassen..also suchen.
habe da was versucht, aber ich hänge hier... :-(

Dim anz_cboE%
anz_cboE = Me.cbo_N.ListCount
With Me.cbo_N
For i = 1 To anz_cboE
If  ?    Like (Me.txt_alterWert & "*") Then
Me.txt_neuerWert = Wert aus Combobox
End If
Next i
End With


thx4hlp
Hack

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: cbo Sortieren und suchen
19.09.2008 13:05:00
Rudi
Hallo,
1. die Liste erst in ein Array einlesen, mit Quicksort sortieren und wieder zurückschreiben.
2. das kannst du doch direkt in der CB. Siehe Eigenschaft MatchEntry
Gruß
Rudi
AW: cbo Sortieren und suchen
19.09.2008 13:19:00
Nepumuk
Hi Rudi,
du kannst doch in der Combobox direkt sortieren. Ist doch auch nur ein Array.
' **********************************************************************
' Modul: UserForm4 Typ: Userform
' **********************************************************************

Option Explicit

Private Sub UserForm_Activate()
    Dim intIndex As Integer
    With ComboBox1
        For intIndex = 90 To 65 Step -1
            .AddItem Chr$(intIndex)
        Next
    End With
    Call prcSort(0, ComboBox1.ListCount - 1)
End Sub

Private Sub prcSort(lngLBound As Long, lngUBound As Long)
    Dim lngIndex1 As Long, lngIndex2 As Long
    Dim strBuffer As String, strTemp As String
    lngIndex1 = lngLBound
    lngIndex2 = lngUBound
    strTemp = ComboBox1.List((lngLBound + lngUBound) \ 2)
    Do
        Do While ComboBox1.List(lngIndex1) < strTemp
            lngIndex1 = lngIndex1 + 1
        Loop
        Do While strTemp < ComboBox1.List(lngIndex2)
            lngIndex2 = lngIndex2 - 1
        Loop
        If lngIndex1 <= lngIndex2 Then
            strBuffer = ComboBox1.List(lngIndex1)
            ComboBox1.List(lngIndex1) = ComboBox1.List(lngIndex2)
            ComboBox1.List(lngIndex2) = strBuffer
            lngIndex1 = lngIndex1 + 1
            lngIndex2 = lngIndex2 - 1
        End If
    Loop Until lngIndex1 > lngIndex2
    If lngLBound < lngIndex2 Then Call prcSort(lngLBound, lngIndex2)
    If lngIndex1 < lngUBound Then Call prcSort(lngIndex1, lngUBound)
End Sub

Gruß
Nepumuk
Anzeige
AW: cbo Sortieren und suchen
19.09.2008 13:28:15
Rudi
Hallo,
stimmt natürlich.
Da ich aber immer Quicksort aus meinem Archiv nehme, ist es über das Array flexibler.
Man könnte natürlich auch die Combox als Object übergeben.

Private Sub UserForm_Activate()
Dim intIndex As Integer
With ComboBox1
For intIndex = 90 To 65 Step -1
.AddItem Chr$(intIndex)
Next
End With
Call prcSort(ComboBox1, 0, ComboBox1.ListCount - 1)
End Sub



Private Sub prcSort(oCBX As Object, lngLBound As Long, lngUBound As Long)
Dim lngIndex1 As Long, lngIndex2 As Long
Dim strBuffer As String, strTemp As String
lngIndex1 = lngLBound
lngIndex2 = lngUBound
strTemp = oCBX.List((lngLBound + lngUBound) \ 2)
Do
Do While oCBX.List(lngIndex1)  lngIndex2
If lngLBound 


Aber habe ich damit was gewonnen?
Gruß
Rudi

Anzeige
AW: cbo Sortieren und suchen
19.09.2008 15:01:43
Nepumuk
Hallo Rudi,
Du:
Daten in Array einlesen
Array sortieren
Array in Combobox ausgeben
Ich:
Daten in Combobox einlesen
Combobox sortieren
Ein Schritt weniger = eine Fehlerquelle weniger. :-)
Gruß
Nepumuk
Hervorragend
19.09.2008 13:33:00
Captain
Hi Nepumuk,
absolut stark! Funkt einwandfrei!!!
Prima!
Danke
Jack

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige