Clever-Excel-Forum

Normale Version: [VBA] ListBox mit Autofilter-Werten befüllen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe einen Autofilter:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next

If Target.Column = 8 And Target.Row = 1 Then
If Target.Value <> "" Then
Worksheets("RegionFilter").Range("A1").AutoFilter , FIELD:=1, Criteria1:=Range("H1")
Else
FilterAufheben
End If
End If
End Sub

Nun würde ich gern meine Listbox mit den jeweils gefilterten Werten anzeigen lassen.
Code:
Private Sub TextBox1_Change()
Dim i As Long
Dim j As Long
Dim a As Long
a = Len(TextBox1)
ListBox1.Clear
With Worksheets("RegionFilter")
For i = 2 To .UsedRange.Rows.Count
    For j = 1 To Len(.Cells(i, 2)) - a + 1
        If UCase(Mid(.Cells(i, 2), j, a)) = UCase(TextBox1) Then
            ListBox1.AddItem (.Cells(i, 2))
            Exit For
        End If
    Next j
Next i
End With
End Sub

Private Sub UserForm_Initialize()
Start.Range("Hotelauswahl").Value = ""
Dim i As Long
With Worksheets("RegionFilter")
For i = 1 To .UsedRange.Rows.Count
ListBox1.AddItem (.Cells(i, 2))
Next
TextBox1 = " "
TextBox1 = ""
End With
End Sub
So zeigt er mir aber natürlich ständig die komplette Liste an ... 

Mag jemand helfen?

Grüße
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.address="$H$1" and target<>"" then  
    with sheets("RegionFilter").columns(1)
      .autofilter
      .copy cells(1,100)
      .autofilter
    end with

    Listbox1.List=cells(1,100).currentregion.value
    cells(1,100).currentregion.clearcontents
  End if
End Sub
Hallo

ohne mich jetzt allzutief in die Details zu versteigen, müsste eigentlich folgende kleine Ergänzung dein Problem lösen:

Diese Zeile gibt's schon:
 ListBox1.AddItem (.Cells(i, 2))

Ändern in
  if .rows(i).hidden=false then ListBox1.AddItem (.Cells(i, 2))

vg, MM
mmat,

funktioniert super!!

Merci
Zum Füllen einer Listbox/Combobox, verzichte auf additem.
Hi snb,


ok... kannst du mir sagen warum?

Grüße
Ist viel zu langsam!
Das mag bei 20 Einträgen unerheblich sein, aber seit ich snbs Varianten kenne, bin ich diesbezüglich sein Fan.  Angel
http://www.snb-vba.eu/VBA_Fill_combobox_listbox_en.html

Gruß Ralf
puhh.. 

klingt interessant. Muss ich erstmal durchsteigen, wie ich das für meine Formeln anpasse..  Huh