Userform, Listbox mit Tabelle füllen






CommandButton Ereignis (Objektname CommandButton1) füllt Listbox (Objektname Listbox1)
mit Werten aus Tabelle Tabelle1, Bereich A2:A50

Private Sub CommandButton1_Click()

ListBoxFuellen ListBox1, ThisWorkbook.Worksheets("Tabelle1").Range("A2:A50")

End Sub

Verweis letzte belegte Zeile ermitteln


Funktion ListBoxFuellen werden als Parameter ein Listbox Objekt (ListBox1) sowie Bereich (ThisWorkbook.Worksheets("Tabelle1").Range("A2:A50") ) übergeben.
 
Private Sub ListBoxFuellen(DieListbox As MSForms.ListBox, DerRange As Range)

With DieListbox
  .ColumnCount = DerRange.Columns.Count
  .List = DerRange.Value
End With

End Sub

Beide Funktionen sind in dem Userform Objekt gekapselt.



Um Einträge in der ListBox zielgerichtet zu finden, kann man zusätzlich noch ein Textfeld (Name = txtSuche) integrieren.
Über z.B. einen weiteren Button (Ereignis Klick) kann die Suche ausgeführt werden.


Dim liSuche As Integer, liMsg As Integer, liSuche1 As Integer

  For liSuche = 0 To ListBox1.ListCount - 1
    For liSuche1 = 0 To ListBox1.ColumnCount - 1
      If InStr(1, ListBox1.Column(liSuche1, liSuche), txtSuche.Text) > 0 Then
        ListBox1.ListIndex = liSuche
        liMsg = MsgBox("Weitersuchen?", vbQuestion + vbYesNo)
            If liMsg = vbNo Then Exit Sub
      End If
    Next
  Next

Kommentare

Beliebte Posts aus diesem Blog

Dropdown Liste mit Mehrfachauswahl

Vergleich mit 2 Bedingungen, INDEX(), VERGLEICH()

nützliche Text Funktionen in Power Query