Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1688to1692
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

Mit VBA Seitengröße einstellen

Mit VBA Seitengröße einstellen
24.04.2019 09:10:16
Kerstin
Hallo zusammen!
Ich bin auf der Suche nach einem VBA Code oder IRGENDEINER anderen Möglichkeit meinen Tabellenblättern standardmäßig unterschiedliche Seitenformate für die Speicherung als PDF-Datei zuzuweisen. Die Seitenformate sind unter "eigene Papierformate" selbst definiert und mit Namen versehen. Im WWW finde ich leider nur "geht nicht":(
In der geöffneten Datei kann ich die Seitengrößen mühselig jedem Tabellenblatt zuordnen, sie bleiben erhalten, bis ich die Datei schließe... Beim nächsten öffnen wieder das gleiche Spiel!
Zur Info: Hier geht es NICHT um den Druckbereich...
Für Anregungen oder noch besser: Lösungen wäre ich super dankbar!
Liebe Grüße
Kerstin

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mit VBA Seitengröße einstellen
24.04.2019 09:22:28
Oberschlumpf
Hi Kerstin,
da du ja "per Hand" dein gewünschtes Ziel erreichst, hast du dabei schon mal den Makrorecorder gestartet?
Wenn ja, und es werden die von dir "per Hand" durchgeführten Befehle nicht aufgezeichnet, weiß ich leider auch keine andere Lösung.
Hilfts?
Ciao
Thorsten
AW: Mit VBA Seitengröße einstellen
24.04.2019 12:10:29
Kerstin
Hallo Thorsten,
mit dem Recorder hab ich es als erstes versucht, er setzt aber standardmäßig DinA4 ein, kann man auch nicht ändern :(
Da ich 10 Tabellenblätter habe und alle ein anderes Papierformat haben müssen, ist es eeeeecht nervig, jedesmal die Formate jedem Blatt wieder neu zuweisen zu müssen...
Liebe Grüße
Kerstin
Anzeige
AW: Mit VBA Seitengröße einstellen
24.04.2019 12:49:42
Oberschlumpf
Hi Kerstin,
a) beschreib mal bitte Schritt für Schritt deine "per Hand"-Lösung
ich weiß nicht, was genau du mit PDF-Seitengröße einstellen du meinst
b) zeig mal bitte den aufgezeichneten Code
Vielleicht kann man den ja im Nachhinein anpassen.
Zumal du ja auch erwähnst, dass jede Seite anders eingestellt werden muss. Da muss der Code dann ja mehrmals gestartet werden, was mit fixen Einstellparametern ja auch nicht funktionieren würde.
Ciao
Thorsten
AW: Mit VBA Seitengröße einstellen
26.04.2019 11:10:42
Kerstin
Hi Thorsten,
zu a): Ich habe per VBA für jedes Tabellenblatt einen anderen Druckbereich definiert. Das klappt auch...
Dann muß ich aber jedes Tabellenblatt einzeln öffnen, Unter "Layout" - Seite einrichten - Größe - Seite einrichten - Papierformat -Optionen - Papierformat, dann mein definiertes Papierformat heraussuchen, ok - ok FERTIG. und DAS FÜR JEDES TABELLENBLATT!!!!
Anschließend werden die Tabellenblätter einzeln (Nur der Druckbereich im jeweiligen Papierformat) als PDF gespeichert. Und dann irgendwann gedruckt. Die "Druckeinstellungen bleiben bis zum Schließen der Tabelle erhalten. Beim erneuten öffnen muss ich wieder alles neu eingeben.
Der Umweg über PDF deshalb, damit ich die entstandenen Dateien im Büro ausdrucken kann, (Schont meinen Drucker und meine Farbe ;)) der dortige Rechner hat Linux und Libre Office, da laufen meine Tabellen nicht.
zu b) an einer Stelle im Code steht: .PaperSize = xlPaperA4 das kann man aber leider nicht ändern. Oder doch? Ich hab's nicht hinbekommen, weder mit dem "Namen" des definierten Papierformats, noch mit Größenangaben (mm hoch, mm breit).
Hier ist der gesamte aufgezeichnete Code:
Sub Papierformat()
' Papierformat Makro
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
ActiveSheet.PageSetup.PrintArea = ""
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.75)
.RightMargin = Application.InchesToPoints(0.75)
.TopMargin = Application.InchesToPoints(1)
.BottomMargin = Application.InchesToPoints(1)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = -4
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.zoom = 100
End With
End Sub
Ich sage schon mal lieben dank für Deine Mühe! Hoffentlich findest Du etwas, was mir weiterhilft...
Ach, ich sollte vielleicht noch erwähnen, daß ich Excel 2011 (Mac-Version :((( ) benutze. Da klappt ganz vieles nicht, was auf Windows Rechnern läuft.
Liebe Grüße
Kerstin
Anzeige
AW: Mit VBA Seitengröße einstellen
27.04.2019 07:50:38
Oberschlumpf
Hi Kerstin,
danke für deine Beschreibung(en).
Aber leider kann ich auch nicht helfen.
Ciao
Thorsten
AW: Mit VBA Seitengröße einstellen
27.04.2019 09:14:08
fcs
Hallo Kerstin,
gundsätzlich funktioniert es per VBA auch von A4 verschiedene Papiergrößen per Makro festzulegen.
Die Werte sind dann oft reine Zahlen. z.B.
        .PaperSize = 189 '10 x 15 cm

Dies ist aber von den Möglichkeiten des jeweils aktiven Druckers abhängig.
Wenn möglich, dann solltest du den Druckertreiber des Druckers mit dem du im Büro die PDFs drucken willst auf deinem Heimrechner installieren.
Keine Ahnung ob das so einfach möglich ist.
Auf deinem Heimrechner musst du dann in Excel immer erst diesen Drucker zum aktiven Drucker machen, bevor du die Datei öffnest.
Dann sollten auch deine Sonderformate erhalten bleiben.
Auf jeden Fall sollte es funktionieren per Makro den passenden Drucker zu wählen, die Formate der einzelnen Tabellenblätter per Makro anzupassen und dann per Makro die Blätter als PDF-Datei zu speichern.
Um den Wert für die Papersize zu bekommen musst du per Makrorekorder das Ändern der Seiteneinstellungen aufzeichnen.
LG
Franz
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen