Druckbereich
17.11.2003 10:28:21
Armin
ich nutze unten stehendes Makro. Aufgabe des Makro ist es:
1. das Format auf A5 zu bringen,
2. den Text auf 65% der ursprünglichen Größe zu verkleinern und
3. nach der letzten Zeile mit Inhalt den Druckvorgang zu beenden.
D.h. also, dass das Makro erkennt, wo die letzte Zeile ist, in der etwas steht.
Ich würde nun gerne das Makro so abändern, dass es auch die letzte SPALTE erkennt und in den Druckbereich miteinschließt.
Die Größe ist bei all meinen Tabellen nämlich nicht das Problem. Die passen alle auf das A5-Format. Aber manchmal ist die letzte Spalte halt die Spalte F, dann wieder N oder R usw. Ich kann also einen Druckbereich nicht wirklich festlegen. Deshalb sollte das Makro das erkennen.
Ich wäre echt dankbar, wenn mir jemand helfen könnte, das Makro umzuschreiben.
Danke im Voraus!
Gruß
Armin
Sub A5Format()
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
ActiveSheet.PageSetup.PrintArea = ""
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.590551181102362)
.RightMargin = Application.InchesToPoints(0.393700787401575)
.TopMargin = Application.InchesToPoints(0.590551181102362)
.BottomMargin = Application.InchesToPoints(0.590551181102362)
.HeaderMargin = Application.InchesToPoints(0.511811023622047)
.FooterMargin = Application.InchesToPoints(0.511811023622047)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA5
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 65
.PrintErrors = xlPrintErrorsDisplayed
End With
Dim laR As Long
laR = Cells(Rows.Count, 2).End(xlUp).Row
ActiveSheet.PageSetup.PrintArea = "$A$1:$R$" & laR
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub