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

Forumthread: 2 Druckbereiche 1 hoch, 1 quer (VBA?)

2 Druckbereiche 1 hoch, 1 quer (VBA?)
15.08.2018 11:14:15
Juergen
Hallo zusammen,
ich habe auf einer Seite 2 Druckbereiche. Ich möchte diese jeweils auf einer Seite ausdrucken. Einer ist im Hoch-, der andere ist im Querformat. Mit meinem Makro kann ich beide Seiten ausdrucken, aber nur hoch oder quer.
Natürlich lässt sich das lösen, indem ich den 2. Druckbereich auf ein anderes Arbeitsblatt lege - dann kann ich einen hoch, den anderen quer einrichten, aber gibt es noch eine andere Möglichkeit? Wie gesagt, ein Druckbereich hoch, einer quer auf einer Seite wäre das Ziel (googlen hat nichts gebracht).
Hier mein verwendetes Makro (druck 2 Seiten).
Sub Druck_ER_mit_Beleg()
With ActiveSheet
.Range("Druckbereich").PrintOut Copies:=1, Collate:=True
End With
With Sheets("ER_Belege")
.Range("Druckbereich").PrintOut Copies:=1, Collate:=True
End With

Danke vorab!
Jürgen
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: 2 Druckbereiche 1 hoch, 1 quer (VBA?)
15.08.2018 12:26:35
Hajo_Zi
Hallo Jürgen,
reicht da nicht Seite einrichten?

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
AW: 2 Druckbereiche 1 hoch, 1 quer (VBA?)
16.08.2018 13:22:22
Juergen
Hallo Hajo,
Seite einrichten funktioniert nur, wenn die Druckbereiche auf verschiedenen Seiten sind. Dann ist das ales kein Problem. Einen Druckbereich im Hochformat, einen im Querformat auf einer Seite ... das ist das Problem. Ich dachte, dass ein VBA Code helfen könnte, aber da komme ich nicht weiter.
VG
Jürgen
Anzeige
AW: 2 Druckbereiche 1 hoch, 1 quer (VBA?)
17.08.2018 08:19:24
Sepp
Hallo Jürgen,
probier mal so.
Sub Druck_ER_mit_Beleg()
  With ActiveSheet
    .PageSetup.Orientation = xlPortrait
    .Range("Druckbereich").PrintOut From:=1, To:=1, Copies:=1, Collate:=True
    .PageSetup.Orientation = xlLandscape
    .Range("Druckbereich").PrintOut From:=2, To:=2, Copies:=1, Collate:=True
    .PageSetup.Orientation = xlPortrait
  End With
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: 2 Druckbereiche 1 hoch, 1 quer (VBA?)
18.08.2018 16:22:31
Juergen
Hallo Sepp,
danke für Deine Antwort. Auf den ersten Blick sieht das so aus, als könnte es funktionieren.
Ich habe die Namen der Druckbereiche angepasst (siehe unten). Das Makro druckt aber immer nur eine Seite ... den normalen "Druckbereich". Der Druckbereich "Druck_ER_Belege" dagegen wird nicht mitgedruckt. Der normale Druckbereich ist "Portrait", der "Druck_ER_Belege"-Bereich ist "Landscape".
Wenn ich Excel so zusehe, dann sieht es aber schon so aus, als sollte noch eine 2. Seite gedruckt werden. Nur eben kommt keine 2. Seite ... auch keine leere.
Habe ich beim Anpassen einen Fehler gemacht?
Danke nochmal!
Jürgen
Sub Druck_ER_mit_Beleg2()
With ActiveSheet
.PageSetup.Orientation = xlPortrait
.Range("Druckbereich").PrintOut From:=1, To:=1, Copies:=1, Collate:=True
.PageSetup.Orientation = xlLandscape
.Range("Druck_ER_Belege").PrintOut From:=2, To:=2, Copies:=1, Collate:=True
.PageSetup.Orientation = xlPortrait
End With
End Sub

Anzeige
AW: 2 Druckbereiche 1 hoch, 1 quer (VBA?)
18.08.2018 16:26:06
Sepp
Hallo Jürgen,
probiere es so.
Sub Druck_ER_mit_Beleg2()
  With ActiveSheet
    .PageSetup.Orientation = xlPortrait
    .PageSetup.PrintArea = .Range("Druckbereich").Address(0, 0)
    .PrintOut From:=1, To:=1, Copies:=1, Collate:=True
    .PageSetup.Orientation = xlLandscape
    .PageSetup.PrintArea = .Range("Druck_ER_Belege").Address(0, 0)
    .PrintOut From:=1, To:=1, Copies:=1, Collate:=True
    .PageSetup.Orientation = xlPortrait
  End With
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: 2 Druckbereiche 1 hoch, 1 quer (VBA?)
20.08.2018 09:26:18
Juergen
Hallo Sepp,
Perfekt! Funktioniert einwandfrei.
Vielen Dank
;
Anzeige
Anzeige

Infobox / Tutorial

Druckbereiche in Excel: Hoch- und Querformat kombinieren


Schritt-für-Schritt-Anleitung

Um in Excel einen Druckbereich im Hochformat und einen im Querformat auf einer Seite auszudrucken, kannst du den folgenden VBA-Code verwenden. Dieser Code ermöglicht es dir, die Druckbereiche entsprechend der gewünschten Ausrichtung einzurichten.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke auf Einfügen > Modul.

  3. Kopiere den folgenden Code in das Modul:

    Sub Druck_ER_mit_Beleg()
       With ActiveSheet
           .PageSetup.Orientation = xlPortrait
           .PrintOut From:=1, To:=1, Copies:=1, Collate:=True
           .PageSetup.Orientation = xlLandscape
           .PrintOut From:=2, To:=2, Copies:=1, Collate:=True
           .PageSetup.Orientation = xlPortrait
       End With
    End Sub
  4. Passe die Range für deine Druckbereiche an, indem du "Druckbereich" und "Druck_ER_Belege" durch die entsprechenden Namen ersetzt.

  5. Schließe den VBA-Editor und führe das Makro aus: Drücke ALT + F8, wähle Druck_ER_mit_Beleg und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Makro druckt nur eine Seite: Stelle sicher, dass du die Druckbereiche korrekt benannt hast und dass sie im richtigen Format (Hoch- oder Querformat) eingestellt sind. Überprüfe auch, ob die Druckbereiche korrekt in der PageSetup.PrintArea definiert sind.

  • Druckformat wird nicht geändert: Achte darauf, dass die Zeilen zur Änderung der PageSetup.Orientation korrekt positioniert sind und dass keine anderen Druckeinstellungen das Ergebnis beeinflussen.


Alternative Methoden

Falls du kein VBA verwenden möchtest, kannst du auch die Druckbereiche manuell auf verschiedene Blätter verteilen:

  1. Lege einen Druckbereich im Hochformat auf einem Arbeitsblatt an.
  2. Lege den zweiten Druckbereich im Querformat auf einem anderen Arbeitsblatt an.
  3. Drucke beide Blätter nacheinander aus.

Diese Methode ist zwar weniger elegant, funktioniert jedoch ohne Programmierung.


Praktische Beispiele

Hier sind einige praktische Anwendungen:

  • Bericht mit Diagrammen: Wenn du einen Bericht hast, der sowohl Text als auch Diagramme enthält, kann das Hochformat für den Text und das Querformat für das Diagramm nützlich sein.

  • Lineatur für die Schule: Wenn du eine Lineatur für die Klasse 2 zum Ausdrucken benötigst, kannst du ein Blatt im Hochformat für die Aufgaben und ein Blatt im Querformat für die Lösungen verwenden.


Tipps für Profis

  • Druckbereich anpassen: Nutze die Funktion PrintArea, um die Druckbereiche dynamisch zu setzen. Das spart Zeit, wenn du häufig verschiedene Bereiche drucken musst.

  • Testdrucke machen: Führe Tests mit dem Druckbereich durch, bevor du die endgültige Version druckst. So kannst du sicherstellen, dass alles korrekt formatiert ist.

  • VBA-Optimierung: Optimiere deine VBA-Codes, um die Ausführungszeit zu reduzieren, indem du unnötige Schritte vermeidest.


FAQ: Häufige Fragen

1. Kann ich in Word das gleiche Konzept anwenden?
Ja, auch in Word kannst du einzelne Seiten im Hoch- und Querformat drucken, indem du Abschnittswechsel verwendest.

2. Funktioniert das in allen Excel-Versionen?
Der bereitgestellte VBA-Code sollte in den meisten modernen Excel-Versionen (ab Excel 2007) funktionieren. Achte darauf, dass du die entsprechenden Einstellungen für die Druckbereiche vornimmst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige