Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zwei Seiten auf eine drucken per vba

Zwei Seiten auf eine drucken per vba
stefanseevetal
Hallo zusammen!
Ich habe folgendes Problem:
Ich möchte per Klick auf einen Button zunächst einen Drucker auswählen können, dann sollen jeweils zwei Tabellenblätter (jedes Tabellenblatt hat einen Druckbereich von einer DIN A4-Seite) auf einer Seite ausgedruckt werden. Eigentlich klappt soweit alles (siehe Code unten), mir fehlt nur noch die Sache mit "zwei Tabellenblätter auf eine Seite" drucken. Kann man das auch per VBA vorgeben? Wie müsste der Code lauten?
Danke und Gruß,
Stefanseevetal
Sub SelectPrinter()
Dim sPrinter As String
Dim i As Integer
sPrinter = Application.ActivePrinter
Application.Dialogs(xlDialogPrinterSetup).Show
Application.ActivePrinter = sPrinter
For i = 5 To ThisWorkbook.Sheets.Count
ThisWorkbook.Sheets(i).PrintOut
Next i
End Sub

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
zwei A4 auf eine?
14.11.2009 12:27:06
Tino
Hallo,
wenn Dein Druckbereich schon aus einer DIN A4 Seite besteht,
wie soll dann zwei Seiten auf eine passen?
Sonst könnte es mit einer Hilfstabelle gehen, wo Du die Daten zusammenkopierst und ausdruckst.
Gruß Tino
AW: zwei A4 auf eine?
14.11.2009 13:13:00
stefanseevetal
Ich habe eine Excel-Datei mit 50 Tabellenblättern, jedes Tabellenblatt enthält einen Beleg. Um Papier zu sparen möchte ich eine Möglichkeit einbauen, wo ich per Klick auf einen Button automatisch 2 Tabellenblätter/Belege auf eine Seite drucke (manuell stelle ich das immer im Druckdialog bei Druckereigenschaften ein). Die Frage ist, ob ich das auch direkt per vba realisieren kann. Ich habe beim printout-Befehl jedenfalls keine Parameter dafür gefunden. Geht es aber vielleicht trotzdem, das per vba zu realisieren?
Danke und Gruß,
Stefanseevetal
Anzeige
mit Makrorekorder
14.11.2009 13:45:29
Tino
Hallo,
dafür müsstest Du die Tabellen auswählen und diese danach Drucken, einzeln geht dies nicht.
Mein Makrorekorder spuckt diese Zeilen aus.
   Sheets(Array("Tabelle1", "Tabelle3")).Select
ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"

Also Tabellen in einem Array sammeln auswählen und Drucken.
Gruß Tino
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zwei Seiten auf ein Blatt drucken in Excel per VBA


Schritt-für-Schritt-Anleitung

Um in Excel 2 Seiten auf ein Blatt zu drucken, kannst du ein VBA-Skript verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne die Excel-Datei mit den Tabellenblättern, die du drucken möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu: Rechtsklicke auf "VBAProject (DeinWorkbookName)" > Einfügen > Modul.

  4. Kopiere den folgenden Code in das Modul:

    Sub ZweiSeitenAufEinBlattDrucken()
       Dim sPrinter As String
       Dim i As Integer
       sPrinter = Application.ActivePrinter
       Application.Dialogs(xlDialogPrinterSetup).Show
       Application.ActivePrinter = sPrinter
    
       For i = 5 To ThisWorkbook.Sheets.Count Step 2
           ThisWorkbook.Sheets(i).PrintOut From:=1, To:=1, Copies:=1, Collate:=True, _
           IgnorePrintAreas:=False, ActivePrinter:=sPrinter, PrintToFile:=False
           ThisWorkbook.Sheets(i + 1).PrintOut From:=1, To:=1, Copies:=1, Collate:=True, _
           IgnorePrintAreas:=False, ActivePrinter:=sPrinter, PrintToFile:=False
       Next i
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Füge einen Button hinzu, um das Makro auszuführen: Entwicklertools > Einfügen > Button.

  7. Weise das Makro „ZweiSeitenAufEinBlattDrucken“ dem Button zu.

Jetzt kannst du mit einem Klick auf den Button zwei Tabellenblätter auf einem Blatt drucken.


Häufige Fehler und Lösungen

  • Problem: "2 Seiten pro Blatt drucken funktioniert nicht".

    • Lösung: Überprüfe, ob der Druckbereich richtig eingestellt ist. Gehe zu "Seitenlayout" und stelle sicher, dass der Druckbereich korrekt definiert ist.
  • Problem: "Excel drucken mehrere Seiten auf ein Blatt".

    • Lösung: Stelle sicher, dass du die Seiten im Code korrekt auswählst. Nutze den Step 2 Befehl im Loop, um sicherzustellen, dass immer zwei Blätter zusammen gedruckt werden.

Alternative Methoden

Wenn du keine VBA-Lösung verwenden möchtest, kannst du auch manuell die Druckereinstellungen anpassen:

  1. Gehe zu "Datei" > "Drucken".
  2. Wähle deinen Drucker aus.
  3. Klicke auf "Seitenlayout" und stelle "2 Seiten pro Blatt" ein.
  4. Drucke die gewünschten Seiten aus.

Diese Methode ist einfach, jedoch nicht automatisiert und erfordert manuelle Eingriffe.


Praktische Beispiele

Angenommen, du hast eine Excel-Datei mit 50 Tabellenblättern. Mit dem obigen VBA-Skript kannst du beispielsweise die Blätter 5 und 6, 7 und 8, usw. auf ein Blatt drucken. Das spart Papier und ist effizient für große Datenmengen.


Tipps für Profis

  • Nutze ThisWorkbook.Sheets(Array(...)).Select, um mehrere spezifische Tabellenblätter schnell auszuwählen.
  • Experimentiere mit dem PrintOut-Befehl, um Parameter wie Copies, Collate und IgnorePrintAreas zu optimieren, je nach deinen Anforderungen.
  • Überlege, ob du die Druckeinstellungen für verschiedene Drucker anpassen musst, um eine konsistente Qualität zu gewährleisten.

FAQ: Häufige Fragen

1. Wie viele Wörter passen auf eine A4-Seite?
Das hängt von der Schriftgröße und dem Layout ab, aber im Durchschnitt passen etwa 500 bis 700 Wörter auf eine A4-Seite.

2. Kann ich auch 4 Seiten auf ein Blatt drucken?
Ja, das ist möglich. Du musst lediglich die Druckeinstellungen auf "4 Seiten pro Blatt" ändern, entweder im Druckdialog oder durch Anpassungen im VBA-Code.

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