kann mir bitte jemand sagen, ob und wenn ja wie man das Papierformat mit VBA festlegen kann?

Servus

Sub Makro4()
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
Application.PrintCommunication = True
ActiveSheet.PageSetup.PrintArea = "$A$1:$F$10"
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0)
.RightMargin = Application.InchesToPoints(0)
.TopMargin = Application.InchesToPoints(0)
.BottomMargin = Application.InchesToPoints(0)
.HeaderMargin = Application.InchesToPoints(0)
.FooterMargin = Application.InchesToPoints(0)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 300
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = 132
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
.PrintErrors = xlPrintErrorsDisplayed
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = False
.EvenPage.LeftHeader.Text = ""
.EvenPage.CenterHeader.Text = ""
.EvenPage.RightHeader.Text = ""
.EvenPage.LeftFooter.Text = ""
.EvenPage.CenterFooter.Text = ""
.EvenPage.RightFooter.Text = ""
.FirstPage.LeftHeader.Text = ""
.FirstPage.CenterHeader.Text = ""
.FirstPage.RightHeader.Text = ""
.FirstPage.LeftFooter.Text = ""
.FirstPage.CenterFooter.Text = ""
.FirstPage.RightFooter.Text = ""
End With
Application.PrintCommunication = True
End Sub
.Orientation = xlLandscape
.Draft = False
.PaperSize = 132
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
Sub Makro4()
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
Application.PrintCommunication = True
ActiveSheet.PageSetup.PrintArea = "$A$1:$F$10"
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0)
.RightMargin = Application.InchesToPoints(0)
.TopMargin = Application.InchesToPoints(0)
.BottomMargin = Application.InchesToPoints(0)
.HeaderMargin = Application.InchesToPoints(0)
.FooterMargin = Application.InchesToPoints(0)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 300
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = 132
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
.PrintErrors = xlPrintErrorsDisplayed
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = False
.EvenPage.LeftHeader.Text = ""
.EvenPage.CenterHeader.Text = ""
.EvenPage.RightHeader.Text = ""
.EvenPage.LeftFooter.Text = ""
.EvenPage.CenterFooter.Text = ""
.EvenPage.RightFooter.Text = ""
.FirstPage.LeftHeader.Text = ""
.FirstPage.CenterHeader.Text = ""
.FirstPage.RightHeader.Text = ""
.FirstPage.LeftFooter.Text = ""
.FirstPage.CenterFooter.Text = ""
.FirstPage.RightFooter.Text = ""
End With
Application.PrintCommunication = True
End Sub
Um das Papierformat in Excel mit einem Makro zu ändern, kannst du den folgenden VBA-Code verwenden. Dieser Code setzt die Druckeinstellungen für das aktive Blatt:
Sub Makro4()
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
.PrintArea = "$A$1:$F$10"
.LeftMargin = Application.InchesToPoints(0)
.RightMargin = Application.InchesToPoints(0)
.TopMargin = Application.InchesToPoints(0)
.BottomMargin = Application.InchesToPoints(0)
.Orientation = xlLandscape
.PaperSize = 132 ' Hier das gewünschte Papierformat anpassen
.Zoom = 100
End With
Application.PrintCommunication = True
End Sub
Um das Makro zu verwenden, öffne den VBA-Editor (Alt + F11), füge ein neues Modul hinzu und kopiere den obenstehenden Code hinein. Achte darauf, dass du die PaperSize entsprechend dem gewünschten Format anpasst.
Fehler: Das gewünschte Papierformat wird nicht aufgezeichnet.
Lösung: Die verfügbaren Papierformate sind abhängig vom gewählten Drucker. VBA kann nur die Formate steuern, die der Druckertreiber bereitstellt. Stelle sicher, dass du den richtigen Drucker in den Druckeinstellungen ausgewählt hast.
Wenn du das Papierformat nicht über ein Makro einstellen kannst, gibt es alternative Methoden:
Manuelles Ändern der Druckeinstellungen:
Druckervoreinstellungen:
Hier sind einige Beispiele für verschiedene Papierformate, die du in deinem Makro verwenden kannst:
.PaperSize = 9.PaperSize = 8Achte darauf, dass die Papierformate, die du in deinem Makro verwendest, tatsächlich vom Drucker unterstützt werden.
PrintCommunication-Eigenschaft, um die Kommunikation mit dem Drucker während der Code-Ausführung zu steuern. Das verhindert, dass Excel während des Setzens der Druckoptionen unnötige Anfragen an den Drucker sendet.1. Kann ich das Papierformat für jeden Drucker festlegen?
Nein, die verfügbaren Papierformate hängen vom jeweiligen Druckertreiber ab. Du kannst nur die Formate einstellen, die der Drucker unterstützt.
2. Wie kann ich die Blattgröße in Excel ändern?
Du kannst die Blattgröße über die Seitenlayout-Optionen in Excel ändern oder ein Makro verwenden, um dies automatisch zu tun.
3. Was ist Application.PrintCommunication?
Diese Eigenschaft steuert, ob Excel mit dem Drucker kommuniziert. Wenn du diese auf False setzt, kannst du mehrere Druckeinstellungen ändern, ohne dass der Drucker unnötig angefragt wird.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen