Hallo zusammen.
ich habe eine Tabelle mit 10 Spalten (A bis J) in der Spalte i suchen ich nach einem Text und lese die Zeilen der Tabelle mit den gleichen Suchtext in eine Listbox ein. Das fonktioniert soweit gut wenn aber nur "eine" Zeile mit dem Suchtext gefunden wird diese ganze Zeile in der Listbox in Spalte 1 eingetragen untereinander sie sollte aber in einer Zeile der Listbox stehen (nebeneinander). Suchkriterium wird über eine Combobox ausgewählt.
wie kann ich das verhindern oder ändern?
Private Sub CommandButton1_Click()
' Einlesen der Exceldaten in die Listbox1
Dim avntValues As Variant
Dim astrOutput() As String, strSearch As String
Dim ialngRow As Long, ialngColumn As Long
Dim ialngCounter As Long
Dim AppExcel As Object
Dim Pfad As String
Dim Datei As String
Dim arrWerte As Variant
' Pfadangabe der Quelldatei wird bei der Inizialisierung des Formulas übergeben
Pfad = Me.TextBox1.Value
Datei = Me.TextBox2.Value
On Error GoTo Fehler1
Set AppExcel = GetObject(Pfad & Datei)
arrWerte = AppExcel.Sheets("Tabelle1").[A2:J200]
ListBox1.List = arrWerte
AppExcel.Close False
Set AppExcel = Nothing
If ComboBox1.ListIndex > -1 Then
strSearch = ComboBox1.Text
avntValues = arrWerte
ReDim astrOutput(LBound(avntValues, 2) To UBound(avntValues, 2), _
LBound(avntValues, 1) To UBound(avntValues, 1))
For ialngRow = LBound(avntValues, 1) To UBound(avntValues, 1)
If CStr(avntValues(ialngRow, 9)) = strSearch Then
ialngCounter = ialngCounter + 1
For ialngColumn = LBound(avntValues, 2) To UBound(avntValues, 2)
astrOutput(ialngColumn, ialngCounter) = CStr(avntValues(ialngRow, ialngColumn))
Next
End If
Next
ReDim Preserve astrOutput(LBound(avntValues, 2) To UBound(avntValues, 2), _
LBound(avntValues, 1) To ialngCounter)
'Listbox1 formatieren
With ListBox1
.ColumnHeads = True
.Font.Size = 10
.ColumnWidths = "40;70;80;80;70;70;80;100;100;35"
.Clear
.ColumnCount = UBound(astrOutput, 1)
.List = WorksheetFunction.Transpose(astrOutput)
End With
'Bild einblenden in Userform
Image1.Visible = True
Else
MsgBox "Erst einen Suchbegriff auswählen.", vbExclamation, "Hinweis"
End If
Exit Sub
Fehler1:
MsgBox Err.Description
End Sub
|