Hallo,
ich möchte eine Tabelle, die mehrere Tausend Zeilen groß ist drucken. Dabei soll aber auch noch in spalte A gruppiert werden und nach der Gruppe der Seitenumbruch gesetzt werden. Die Gruppe bzw. weitere Gruppen sollen dann immer auf einer Seite ausgedruckt werden. Eine Ausnahme gibt es nur, wenn die Gruppe über zwei oder mehr Seiten geht. Dazu habe ich ein Makro gefunden, mit dem man die Seitenumbrüche setzten kann. Leider wird hier die Gruppe nicht immer zusammen auf einer Seite angezeigt. Wie könnte ich das Makro ändern, damit der Seitenumbruch vor diese Gruppe gesetzt wird und die Gruppe dann auf der nächsten Seite gedruckt wird??
Hier das Makro:
Sub Seitenumbrüche_setzen1()
'alle Zellen in Spalte A enthalten Gruppenbezeichnung
Dim arrCells(1 To 1000) As Variant
Dim CurrCell As Range
Dim ALetzte As Long
ActiveSheet.ResetAllPageBreaks
Set CurrCell = ActiveCell
ALetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
Application.ScreenUpdating = False
Application.GoTo ActiveSheet.Range("A" & ALetzte), True
Z = 0
t = ActiveSheet.HPageBreaks.Count
For i = 1 To t
arrCells(i) = ActiveSheet.HPageBreaks(i).Location.Row
Next i
For j = 1 To t
zelle1 = arrCells(j) - Z
Z = 0
For k = 1 To 9
If Cells(zelle1, 1) <> Cells(zelle1 - k, 1) Then
Exit For
Else
Z = Z + 1
End If
Next k
ActiveSheet.HPageBreaks.Add Before:=Cells(zelle1 - Z, 1)
Next j
Application.GoTo ActiveSheet.Range("A1"), True
Application.ScreenUpdating = True
End Sub
und im Anhang auch meine Datei!
Gruß
Beni