![]() |
VBA Excel Pagesetup Printarea festlegen
Hallo Delphianer,
ich bin am Verzweifeln. Habe schon sehr lange gegoogelt aber nichts gefunden. Mein Problem ist: Ich habe in Excel eine Liste mit 501 Seiten und möchte den Druckbereich per Makro festlegen. Nur wie kann man die Seitengröße festlegen? Meine Seiten sind immer genau 76 Zeilen Hoch und 20 Zeilen Breit! Hört sich einfach an, aber über Einfügen von Pagebreaks (HPageBreak, VPagebreak) bekommt man in Excel Probleme mit der zu großen Spalten/Zeilenzahl pro Seite und Excel fügt weitere pagebreaks ein die die Seiten dann zerschneiden. Am besten löst man es über Printarea. Interessanterweise muss die Seitengröße dort Einstellbar sein, da man unterschiedliche Seitengrößen vererben kann. Aber wie? Hier mal der Code den ich schon habe:
Delphi-Quellcode:
Please Help me out :love:
Sub Druckbereich()
Application.ScreenUpdating = False With ActiveSheet ' Hier muss noch die Seitengröße eingetragen werden?! 'z.B. .pagesetup.pagesize = rows(76),cols(20) <- nur zum verdeutlichen was ich suche .PageSetup.PrintArea = "$A$1:$S$38076" End With Application.ScreenUpdating = True End Sub Vielen Dank und greez :dp: gabneo |
Re: VBA Excel Pagesetup Printarea festlegen
Lass dir doch die Aktion als Makro aufzeichnen
|
Re: VBA Excel Pagesetup Printarea festlegen
Dabei kommt nur der Code raus den man oben sieht.
Er Erzeugt dann nur
Delphi-Quellcode:
aber keinen Code der zeigt welche größe er als Vorlage verwendet hat...
.PageSetup.PrintArea = "$A$1:$S$38076"
|
Re: VBA Excel Pagesetup Printarea festlegen
selber gelöst :cyclops:
Delphi-Quellcode:
greez
Public Sub Workbook_BeforePrint(Cancel As Boolean)
'Quelle: Kolja Aidam IT-Services Copyright 2009 Dim xelRows As Long, i As Long Application.ScreenUpdating = False On Error Resume Next With ActiveSheet .ResetAllPageBreaks For xelRows = 1 To Range("A65536").End(xlUp).Row If Rows(xelRows).Hidden = False Then i = i + 1 If i Mod 76 = 0 Then .HPageBreaks.Add Cells(xelRows + 1, 1) Next .PageSetup.PrintArea = "$A$1:$S$38076" .VPageBreaks(1).DragOff Direction:=xlToRight, RegionIndex:=1 Set .HPageBreaks(1).Location = Range("A77") End With Application.ScreenUpdating = True End Sub |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz