WorksheetFunction.Transpose
26.07.2021 09:30:09
Thomas
ich filtere mit dem folgendem Makro meine Listbox:
'Macro Grundlage ransi 2007
Private Sub CommandButton1_Click()
Dim arr
Dim I As Integer
Dim K As Long
Dim out As Variant
Dim L As Long
Dim dblStart As Double
dblStart = Timer
Tabelle1.Range("a2:x200") = ""
Suchergebnisse_suchen.Clear
arr = Sheets("Kundendaten").Range("A2:X60")
ReDim out(1 To UBound(arr, 2), 1 To UBound(arr))
For L = 1 To UBound(arr)
'filter setzen
If arr(L, 1) = TextBox1.Text Then 'Tabelle7.Range("a2").Value Then '> 1000 Then ' 'TextBox1.Value Dein "Filter
'If Rows(L).RowHeight > 0 Then ' nur sichtbare laden
K = K + 1
For I = 1 To UBound(arr, 2)
out(I, K) = arr(L, I)
Next
End If
Next
On Error Resume Next
ReDim Preserve out(1 To I - 1, 1 To K)
On Error GoTo 0
out = WorksheetFunction.Transpose(out)
Suchergebnisse_suchen.List = out
'Range(C&i)=Range(B&i)
Tabelle1.Range("a2:x" & K + 1) = out
'MsgBox Timer - dblStart
End Sub
Soweit klappt dies schon ganz gut.Wenn es jedoch nur einen Treffer gibt funktioniert das " WorksheetFunction.Transpose" einfach nicht.
Der gefundene Datensatz wird in der Listbox untereinander dargestellt. Bei mehreren Treffern wird die Listbox richtig gefüllt.
Die Ausgabe auf einem Tabellenblatt funktioniert jedoch tadellos.
Kann sich jemand mal anschauen was ich da falsch mache?
Anbei noch die Testmappe.
https://www.herber.de/bbs/user/147301.xlsm
habt schon mal rechtvielen dank für euer Interesse.
mfg thomas