Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Druckbereich

Forumthread: Druckbereich

Druckbereich
27.10.2020 10:27:38
Thomas
Hallo excelfreunde,
ich möchte gern den Druckbereich so einstellen das immer 16 Zeilen auf einem Blatt sind.
Dazu habe ich folgendes Macro "geschrieben".
.PrintTitleRows = "$1:$5"
.PrintArea = ""
For i = 1 To 1
If (Tabelle16.Range("b86") "") Then
' MsgBox " Blatt1"
PageSetup.PrintArea = Tabelle16.Range("A1:l101").Address
Exit For
Else
If (Tabelle16.Range("b70") "") Then
'MsgBox " Blatt2"
PageSetup.PrintArea = Tabelle16.Range("A1:l85").Address
Exit For
Else
If (Tabelle16.Range("b54") "") Then
' MsgBox " Blatt3"
PageSetup.PrintArea = Tabelle16.Range("A1:l69").Address
Exit For
Else
If (Tabelle16.Range("b38") "") Then
' MsgBox " Blatt4"
PageSetup.PrintArea = Tabelle16.Range("A1:l53").Address
Exit For
Else
If (Tabelle16.Range("b22") "") Then
' MsgBox " Blatt5"
PageSetup.PrintArea = Tabelle16.Range("A1:l37").Address
Exit For
Else
If (Tabelle16.Range("b6") "") Then
'MsgBox " Blatt6"
PageSetup.PrintArea = Tabelle16.Range("A1:l21").Address
Exit For
End If
End If
End If
End If
End If
End If
Next
dieses funktioniert soweit auch schon ganz gut.
Leider weiß ich am ende nicht wieviel Seiten gedruckt werden sollen. ( dies ist variabel bis zu 20 Seiten ).
um sicherzugehen müsste ich dies
If (Tabelle16.Range("b22") "") Then
'MsgBox " ja5"
PageSetup.PrintArea = Tabelle16.Range("A1:l37").Address
Exit For
Else
noch 14 mal schreiben. Weiß jemand wie ich dies besser ( kürzer ) schreiben könnte?
habt schon mal rechtvielen dank für euer Interesse.
mfg Thomas
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
habs hinbekommen
27.10.2020 14:53:20
Thomas
Hallo excelfreunde,
ich habe es doch hinbekommen.
Dim lngRow As Long
Tabelle16.ResetAllPageBreaks
PageSetup.PrintArea = ""
With Tabelle16
For lngRow = 22 To 100 Step 16 '.UsedRange.Rows.Count Step 17
If (Tabelle16.Cells(lngRow, 2) "") Then
' MsgBox " Blatt1"
PageSetup.PrintArea = Tabelle16.Range("A1:L" & lngRow + 15).Address
.HPageBreaks.Add Before:=Cells(lngRow, 2)
Else
Exit For
End If
Next lngRow
End With
mfg thomes
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige