ich habe folgenden Code im Internet gefunden, der alle Daten in Spalte A der Reihe nach filtert und die gefilterten Daten jeweils druckt.
Der Code klappt perfekt.
Allerdings möchte ich den Code so anpassen, dass auch mehr als drei Spalten in der Tabelle stehen dürfen.
Leider bekomme ich den Code nicht dahingehend angepasst.
Es kommen beim Anpassen des Codes immer falsche Druckergebnisse.
Angenommen ich hätte 5 Spalten. Wie müsste der Code dann aussehen?
Außerdem frage ich mich, warum diese Zeile dort steht:
Range("A:A").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("D1"), Unique:=True
Warum muss erst kopiert werden?
Kann mir das jemand erklären?
VG
Henry
Sub FilternUndDrucken()
Dim arr()
Dim iRow As Integer
Range("A:A").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("D1"), Unique:=True
iRow = 2
Do Until IsEmpty(Cells(iRow, 4))
ReDim Preserve arr(iRow - 1)
arr(iRow - 1) = Cells(iRow, 4)
iRow = iRow + 1
Loop
Columns(4).ClearContents
For iRow = 1 To UBound(arr)
Columns(1).AutoFilter Field:=1, Criteria1:=arr(iRow)
ActiveSheet.PrintPreview
Next iRow
Range("A1").AutoFilter
End Sub