AW: Formular mit Suche und Filter
28.01.2013 16:31:46
fcs
Hallo Michael,
man kann natürlich ohne Probleme die Daten aus mehreren Spalten erfassen/darstellen. Allerdings ist dann eine Textbox nicht unbedingt ideal für die Darstellung, da eine Spaltendarstellung nur schwierig darstellbar ist. Hier könnte man evtl. die weiteren Spalten etwas eingerückt nach der 1. Zeile einer Fundstelle anzeigen.
Wenn die anzuzeigenden jeweils kurz sind, dann ist die Darstellung in einer Listbox mit mehreren Spalten übersichtlicher.
Bei der Textboxvariante musst du wie folgt für weitere Spalten ergänzen:
If .Cells(lngZeile, 1).Value = strName Then
If strText = "" Then
strText = .Cells(lngZeile, 2).Text
Else
strText = strText & Chr(10) & .Cells(lngZeile, 2).Text
End If
strText = strText & vbLf & " " & .Cells(lngZeile, 3).Text
strText = strText & vbLf & " " & .Cells(lngZeile, 4).Text
End If
Falls du die Listbox-Variante möchtest, dann sieht der Code etwa wie folgt aus (ungetestet):
Private Sub ComboBox1_Change()
Dim strName As String, lngZeile As Long, iCount As Integer
strName = Me.ComboBox1.Value
With Worksheets("Tabelle2")
Listbox1.Clear
For lngZeile = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
If .Cells(lngZeile, 1).Value = strName Then
Listbox1.AddItem .Cells(lngZeile, 2).Value
iCount = Listbox1.ListCount
Listbox1.List(iCount - 1, 1) = .Cells(lngZeile, 3).Value
Listbox1.List(iCount - 1, 2) = .Cells(lngZeile, 4).Value
End If
Next
End With
End Sub
Die Anzahl Spalten der Listbox muss du unter den Eigenschaften im Formulareditor einstellen.
Gruß
Franz