Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1788to1792
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige