Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Drucken - Bereich und Format festlegen

Forumthread: Drucken - Bereich und Format festlegen

Drucken - Bereich und Format festlegen
24.08.2019 13:42:23
Sophie
Hallo zusammen,
ich habe eine Arbeitsmappe mit mehreren Tabellen. Manche dieser Tabellen sind ausgeblendet.
Ich benötige einen Code mit dem alle sichtbaren Blätter ausgedruckt werden. Dabei sollen nur die Spalten A bis D gedruckt werden, bis zur letzten Zeile mit Inhalt.
Das ganze im Hochformat.
Ich würde das gerne über Schaltfläche laufen lassen. Ich habe schon viel ausprobiert aus dem Internet aber es klappt alles nicht..
Vielen Dank
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Drucken - Bereich und Format festlegen
24.08.2019 13:50:26
Hajo_Zi
lege in jeder Tabelle einen Druckbereich A:D fest.
Option Explicit
Sub Drucken()
Dim WsTabelle As Worksheet
For Each WsTabelle In Worksheets
If WsTabelle.Visible Then
WsTabelle.PrintOut
End If
Next WsTabelle
End Sub


Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
Anzeige
AW: Drucken - Bereich und Format festlegen
24.08.2019 16:04:53
Sophie
Hallo Hajo,
vielen Dank für deine Hilfe. Habe den Durckbereich festgelegt.
Gibt es auch eine Möglichkeit Hoch- und Querformat einzustellen? Vielen Dank!
AW: Drucken - Bereich und Format festlegen
24.08.2019 16:38:46
Hajo_Zi
benutze den Makrorecorder.
Gruß Hajo
PageSetup
24.08.2019 16:45:21
{Boris}
Hi,
schau Dir mal das PageSetup-Objekt genau an. Da kannst Du ne Menge Eigenschaften festlegen.
Der Makrorecorder liefert dabei in der Tat gute Dienste. Deine konkrete Frage zur Ausrichtung habe ich fett markiert:
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.708661417322835)
.RightMargin = Application.InchesToPoints(0.708661417322835)
.TopMargin = Application.InchesToPoints(0.78740157480315)
.BottomMargin = Application.InchesToPoints(0.78740157480315)
.HeaderMargin = Application.InchesToPoints(0.31496062992126)
.FooterMargin = Application.InchesToPoints(0.31496062992126)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
        .Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
.PrintErrors = xlPrintErrorsDisplayed
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = True
.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
VG, Boris
Anzeige
AW: Auch eine Möglichkeit ...
24.08.2019 17:02:31
Dieter(Drummer)
Hallo Sophie.
Wenn der Druckbereich auf eine Seite Quer passt, sonst mit "Zoom" anpassen:
Sub DruckQuer()
With ActiveSheet.PageSetup
.PrintArea = "Druckbereich" 'Dein Druckbereich
.Orientation = xlLandscape
.Zoom = 85 'Hier evtl. Seitengröße evtl. anpassen
End With
ActiveSheet.PrintOut
End Sub

Ist evtl. nicht die beste Möglichkeit, aber es geht ...
Gruß, Dieter(Drummer)
Anzeige
Stimmt...
24.08.2019 17:06:32
{Boris}
Hi,
...mit "Zoom" anpassen...Ist evtl. nicht die beste Möglichkeit...
Dafür gibt es diese beiden Eigenschaften des PageSetup-Objektes:
        .FitToPagesWide = 1
.FitToPagesTall = 1
VG, Boris
AW: Stimmt...
24.08.2019 17:11:39
Dieter(Drummer)
Danke Boris,
wieder was gelernt :-).
Gruß, Dieter(Drummer)
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Drucken - Bereich und Format festlegen


Schritt-für-Schritt-Anleitung

Um in Excel den Druckbereich und das Format festzulegen, kannst Du den folgenden VBA-Code verwenden. Dieser Code druckt alle sichtbaren Blätter und legt den Druckbereich auf die Spalten A bis D fest.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
  2. Füge ein neues Modul hinzu durch einen Rechtsklick im Projektfenster und wähle „Einfügen“ > „Modul“.
  3. Kopiere den folgenden Code in das Modul:
Option Explicit
Sub Drucken()
    Dim WsTabelle As Worksheet
    For Each WsTabelle In Worksheets
        If WsTabelle.Visible Then
            WsTabelle.PageSetup.PrintArea = "A:D"
            WsTabelle.PrintOut
        End If
    Next WsTabelle
End Sub
  1. Schließe den VBA-Editor und speichere Deine Arbeitsmappe als „Excel-Arbeitsmappe mit Makros“ (*.xlsm).
  2. Du kannst den Druckvorgang über eine Schaltfläche in Deiner Arbeitsmappe starten.

Um das Hochformat einzustellen, füge in den For Each-Schleifen den PageSetup-Befehl hinzu:

With WsTabelle.PageSetup
    .Orientation = xlPortrait
End With

Häufige Fehler und Lösungen

  • Fehler: „Der Druckbereich ist nicht korrekt festgelegt.“

    • Lösung: Stelle sicher, dass der Druckbereich korrekt definiert ist, z.B. WsTabelle.PageSetup.PrintArea = "A:D".
  • Fehler: Nur leere Seiten werden gedruckt.

    • Lösung: Überprüfe, ob die sichtbaren Blätter tatsächlich Inhalte in den Spalten A bis D haben.

Alternative Methoden

Eine alternative Methode, um das Druckformat festzulegen, ist die Nutzung des Makrorecorders in Excel:

  1. Klicke auf „Entwicklertools“ > „Makro aufzeichnen“.
  2. Führe die gewünschten Druckformat-Einstellungen in Excel durch (z.B. Seitenlayout, Druckbereich).
  3. Stoppe die Aufzeichnung des Makros.
  4. Du kannst das aufgezeichnete Makro anpassen, um es für andere Tabellen zu verwenden.

Praktische Beispiele

Hier sind zwei praktische Beispiele, wie Du verschiedene Druckformate anwenden kannst:

  1. Drucken im Hochformat:
Sub DruckHoch()
    With ActiveSheet.PageSetup
        .Orientation = xlPortrait
        .PrintArea = "A:D"
        .Zoom = 100
    End With
    ActiveSheet.PrintOut
End Sub
  1. Drucken im Querformat:
Sub DruckQuer()
    With ActiveSheet.PageSetup
        .Orientation = xlLandscape
        .PrintArea = "A:D"
        .Zoom = 85
    End With
    ActiveSheet.PrintOut
End Sub

Tipps für Profis

  • Nutze die .Zoom-Eigenschaft, um den Druckbereich anzupassen, falls der Inhalt nicht auf eine Seite passt. Beispiel: .Zoom = 100 für volle Größe oder .Zoom = 85 für eine Anpassung.
  • Experimentiere mit den FitToPagesWide und FitToPagesTall Eigenschaften, um sicherzustellen, dass der gesamte Druckbereich auf eine Seite passt:
With ActiveSheet.PageSetup
    .FitToPagesWide = 1
    .FitToPagesTall = 1
End With

FAQ: Häufige Fragen

1. Wie kann ich den Druckbereich für mehrere Blätter gleichzeitig festlegen?
Du kannst dies mit einer Schleife erreichen, indem Du den Druckbereich für jedes sichtbare Blatt in Deinem VBA-Skript festlegst.

2. Ist es möglich, unterschiedliche Druckformate für verschiedene Blätter zu setzen?
Ja, Du kannst innerhalb der Schleife unterschiedliche PageSetup-Einstellungen für jedes Blatt vornehmen, je nach Bedarf.

3. Wie kann ich den Druckvorgang mit einem Button auslösen?
Füge eine Schaltfläche in Deine Excel-Datei ein und weise das Makro, das Du erstellt hast, dieser Schaltfläche zu.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige