Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

ComboBox auswahlt filtern. | Herbers Excel-Forum


Betrifft: ComboBox auswahlt filtern. von: marco
Geschrieben am: 03.02.2010 14:21:35

Hallo,

Ich habe folgendes Problem: Und noch nicht in den Excel Bsp. gefunden

Ich habe in einer Userform mit einer ComboBox, die mit vielen Werten "Text" zB.: ( INR 8RV 10 LAUTSPRECHER (PASSIV) / LAUTSPRECHEREINBAU) gefüllt wird. Ingesamt etwa 250 Zeilen.

Meine Frage:
Um einen Wert schneller zu suchen, will ich nur einen Teil vom Text in die Combobox eingeben und die Combobox soll mir alle Werte indem der Text vorhanden ist anzeigen.

zB. Eingabe : Lautsprecher
Dann sollen alle Werte in der Combobox angezeigt werden wo das Wort "Lautsprecher" vorkommt.

Mein sub für die Combobox:

Private Sub userform_Activate()
Dim zeilen As Integer, i As Integer, ibeginnrow As Integer

i = Cells(Rows.Count, 1).End(xlUp).Row
ibeginnrow = Range(Cells(1, 1), Cells(Rows.Count, 1)).Find(What:="Antrieb").Row
ComboBox1.Clear

For zeilen = ibeginnrow + 1 To i
 If Cells(zeilen, 1).Value <> "" Then
    ComboBox1.AddItem Mid$(Cells(zeilen, 1), 4, 60)
  End If
 Next zeilen
 
End Sub

Gruß
Marco

  

Betrifft: AW: ComboBox auswahlt filtern. von: Rudi Maintaire
Geschrieben am: 03.02.2010 14:44:45

Hallo,
teste mal:

Dim blnCode As Boolean

Private Sub ComboBox1_Change()
  Dim sText As String
  If Not blnCode Then
    blnCode = True
    sText = ComboBox1.Text
    ComboBox1.List = arrListe(sText)
    blnCode = False
  End If
End Sub

Function arrListe(sMatch As String)
  Dim rng As Range, oList As Object
  Set oList = CreateObject("scripting.dictionary")
  With Sheets(1)
  For Each rng In .Range(.Cells(2, 1), .Cells(Rows.Count, 1).End(xlUp))
    If LCase(rng) Like "*" & LCase(sMatch) & "*" Then
      oList.Add rng.Text, rng.Text
    End If
  Next
  End With
  arrListe = oList.keys
End Function

Gruß
Rudi


  

Betrifft: AW: ComboBox auswahlt filtern. von: marco
Geschrieben am: 03.02.2010 16:50:37

Hallo Rudi und Jo,

danke für die Rückmeldungen.

Ich habe es mit der Rückmeldung von Rudi versucht und es war erfolgreich.

Gruß
Marco


  

Betrifft: AW: ComboBox auswahlt filtern. von: JoWE
Geschrieben am: 03.02.2010 14:48:20

Hallo Marco,

Du willst in die Combobox 3 Zeichen hineinschreiben, dann auf den DropdownButton klicken und dann in der Liste nur die Begriffe sehen, die mit den zuvor geschrieben Zeichen übereinstimmen?

Private Sub ComboBox1_DropButtonClick()
    Dim SB '???
    Dim i as integer
    sb = Me.ComboBox1.Text
    Me.ComboBox1.Clear
    For i = 1 To 280
        If InStr(1, ActiveSheet.Cells(i, 9).Value, sb) > 0 Then
            Me.ComboBox1.AddItem ActiveSheet.Cells(i, 9).Value
        End If
    Next
End Sub

Gruß
Jowe


Beiträge aus den Excel-Beispielen zum Thema "ComboBox auswahlt filtern."