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

Forumthread: Mehrere Tabellenblätter drucken; Auswahl variabel

Mehrere Tabellenblätter drucken; Auswahl variabel
05.08.2015 12:43:12
Denise
Hallo,
ich habe ca. 50 Tabellenblätter in meiner Arbeitsmappe.
Davon sollen per Makro einige Tabellenblätter markiert und als ein Druckauftrag gedruckt werden.
Als Grundlage habe ich mir per Makro-Recorder den Code erstellt wie folgt:
Sheets(Array("Tabelle 1", "Tabelle 2")).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False

Funktioniert auch.
Die zu druckenden Seiten sollen aber variabel sein; der Nutzer der Datei kann auf einer Übersichtsseite Häckchen setzen, daraus ergibt sich, welche Tabellenreiter ausgegeben werden müssen; also z.B. Tabelle 1 + 2 oder Tabelle 5 + 7 + 8.
Ich habe also versucht das Array() mit einer Variablen zu füttern.
Die Variable wird von einem separaten Tabellenblatt gezogen, wo sie in Abhängigkeit von den Reiter die gedruckt werden sollen per "Verketten" genau so zusammengesetzt wird, wie im ursprünglichen Grundlagen-Code dargestellt (mit Anführungszeichen, Komma, Leerzeichen).
hier der Code mit der Variablen
Dim sDruckbereich As String
sDruckbereich = Sheets("Steuerung").Range("K49").Text 'z.B.: "Tabelle 1", "Tabelle 2"
Sheets(Array(sDruckbereich)).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False

Das funktioniert nicht; es kommt die Fehlermeldung "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs"
Wenn ich die Variable so wie sie ist vom Reiter "Steuerung" Zelle K49 in den Zwischenspeicher nehme und anstatt sDruckbereich in den Array einfüge, läuft es ohne Probleme. Nur mit der Variablen nicht.
Was ist das Problem? Was muss ich ändern, damit es funktioniert? Gibt es einen alternativen Lösungsweg?
Wichtig ist mir, dass nur ein Druckauftrag erzeugt wird, egal wie viele Reiter gedruckt werden sollen. Also nicht für jeden Reiter ein einzelner Druckauftrag...
Danke & Gruß
Denise

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Tabellenblätter drucken; Auswahl variabel
05.08.2015 16:18:08
Sepp
Hallo Denise,
hab vor Kurzem mal so etwas gemacht.
https://www.herber.de/bbs/user/99347.xlsm
Gruß Sepp

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Mehrere Tabellenblätter drucken in Excel


Schritt-für-Schritt-Anleitung

Um mehrere Tabellenblätter in Excel zu drucken, während du die Auswahl variabel hältst, kannst du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Erstelle eine Steuerungsseite: Lege eine Seite an, auf der der Benutzer die gewünschten Tabellenblätter auswählen kann. Zum Beispiel kannst du Kontrollkästchen verwenden, um die Auswahl zu erleichtern.

  2. Definiere den Druckbereich: Verwende die Excel-Funktion VERKETTEN, um die Namen der ausgewählten Tabellenblätter in einer Zelle (z.B. K49) zusammenzuführen. Achte darauf, dass die Namen in der richtigen Form (z.B. "Tabelle 1", "Tabelle 2") vorliegen.

  3. Schreibe den VBA-Code: Erstelle ein Makro, das die ausgewählten Blätter druckt. Hier ist ein Beispielcode:

    Dim sDruckbereich As String
    sDruckbereich = Sheets("Steuerung").Range("K49").Text ' z.B.: "Tabelle 1, Tabelle 2"
    Sheets(Array(Split(sDruckbereich, ", "))).Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
    IgnorePrintAreas:=False
  4. Führe das Makro aus: Starte das Makro, um die ausgewählten Tabellenblätter in einem Druckauftrag zu drucken.


Häufige Fehler und Lösungen

  • Laufzeitfehler 9: Index außerhalb des gültigen Bereichs: Dieser Fehler tritt auf, wenn die Namen der Tabellenblätter in der Variablen sDruckbereich nicht korrekt sind. Stelle sicher, dass die Namen genau mit den Blattnamen übereinstimmen und dass sie in Anführungszeichen und durch Kommas getrennt sind.

  • Excel-Blatt nicht drucken: Wenn ein bestimmtes Blatt nicht gedruckt wird, prüfe, ob das Blatt ausgeblendet oder geschützt ist. Entsperre das Blatt oder blende es ein, bevor du das Makro ausführst.


Alternative Methoden

Es gibt verschiedene Möglichkeiten, mehrere Tabellenblätter in Excel zu drucken:

  1. Manuelles Auswählen: Halte die Strg-Taste gedrückt und klicke auf die gewünschten Tabellenblätter, bevor du auf „Drucken“ klickst. Dies ist nützlich, wenn du nur einige Blätter drucken möchtest.

  2. Druckbereich festlegen: Stelle einen Druckbereich für mehrere Tabellenblätter ein, indem du die gewünschten Blätter auswählst und dann Seitenlayout > Druckbereich > Druckbereich festlegen wählst.

  3. Makros verwenden: Nutze VBA, um komplexere Druckaufträge zu automatisieren, wie im vorherigen Abschnitt beschrieben.


Praktische Beispiele

  • Drucken aller Tabellenblätter: Wenn du alle Tabellenblätter in einer Arbeitsmappe drucken möchtest, kannst du den folgenden VBA-Code verwenden:

    For Each ws In ThisWorkbook.Sheets
       ws.PrintOut
    Next ws
  • Drucken mehrerer Tabellenblätter auf einer Seite: Um mehrere Tabellenblätter auf einer Seite zu drucken, kannst du die Funktion „Seitenlayout“ nutzen und die Einstellungen für die Seitenausrichtung und Skalierung anpassen.


Tipps für Profis

  • Verwende Gruppen: Wenn du regelmäßig die gleichen Blätter druckst, erstelle eine Gruppe von Blättern, um den Prozess zu vereinfachen.

  • Druckvorschau nutzen: Vor dem Drucken solltest du die Druckvorschau verwenden, um sicherzustellen, dass alles wie gewünscht aussieht.

  • Automatisierung: Automatisiere häufige Druckvorgänge mit VBA-Skripten, um Zeit zu sparen und Fehler zu minimieren.


FAQ: Häufige Fragen

1. Wie drucke ich alle Tabellenblätter in Excel?
Du kannst alle Tabellenblätter drucken, indem du einfach die Auswahl auf „Alle“ setzt oder ein Makro verwendest, das alle Blätter durchläuft und sie druckt.

2. Was mache ich, wenn ein Tabellenblatt nicht gedruckt wird?
Überprüfe, ob das Tabellenblatt ausgeblendet oder geschützt ist. Stelle sicher, dass die Namen in deinem Druckbefehl korrekt sind.

3. Kann ich Excel mehrere Tabellenblätter auf einmal drucken?
Ja, du kannst mehrere Tabellenblätter in einem einzigen Druckauftrag drucken, indem du sie vorher auswählst oder ein VBA-Makro verwendest, wie im Tutorial beschrieben.

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