könnte man mir bei dem Code eventuell noch dahinterschreiben was genau diese Zeile macht? Ich hab noch ein anderes Anwendungsfall jedoch weiß ich nicht genau was ich abändern muss.
Dim Suchbefehl As String
Dim lngTmpZ As Long, lngZeileMax As Long
Dim lngZeile As Long, lngSpalte As Long
Dim arrData, arrtmp
Dim bFund As Boolean
With Worksheets("Tabelle3")
' Me.Position = .Range("CA2")
' AuftragsblattCheckbox = .Range("Y2").Value * 1
' StückzahlkarteCheckBox = .Range("Z2").Value * 1
Suchbefehl = .Range("F2").Value
End With
With Me.ListBox1
.ColumnCount = 15
.ColumnWidths = "120;150;150;0;0;0;0;0;0;0;0;150;0;0;0"
.Font.Size = 12
End With
With Workbooks("Aktuelle Aufträge.xlsm").Worksheets("Adressen")
.Range("B5").Value = ""
lngZeileMax = .Range("A" & .Rows.Count).End(xlUp).Row 'Letzte Zeile
arrData = .Range("A7:O" & lngZeileMax).Value
End With
ReDim arrtmp(1 To UBound(arrData), 1 To UBound(arrData, 2))
For lngZeile = LBound(arrData) To UBound(arrData)
'Startzeile bis Endzeile
For lngSpalte = 1 To UBound(arrData, 2)
bFund = False
If LCase(arrData(lngZeile, lngSpalte)) Like "*" & LCase(Suchbefehl) & "*" Then
bFund = True
Exit For
End If
Next
If bFund Then
lngTmpZ = lngTmpZ + 1
For lngSpalte = 1 To UBound(arrData, 2)
arrtmp(lngTmpZ, lngSpalte) = arrData(lngZeile, lngSpalte)
Next
End If
Next lngZeile
If lngTmpZ = 0 Then ListBox1.Clear: Exit Sub
arrtmp = Application.Transpose(arrtmp)
ReDim Preserve arrtmp(1 To UBound(arrData, 2), 1 To lngTmpZ)
If lngTmpZ = 1 Then
ListBox1.Column = arrtmp
Else
ListBox1.List = Application.Transpose(arrtmp)
End If
|