Auf das aktive Blatt können Sie sich mit der ActiveSheet-Eigenschaft beziehen. Im folgenden Beispiel wird die Activate-Methode verwendet, um das Tabellenblatt "Tabelle1" zu aktivieren, die Seitenausrichtung auf Querformat zu setzen und das Tabellenblatt zu drucken.
Worksheets("Tabelle1").Activate
ActiveSheet.PageSetup.Orientation = xlLandscape
ActiveSheet.PrintOut
Und wenn Du nur Bereiche drucken willst dann so:
Worksheets("Tabelle1").Range("A1:D5").PrintOut
Gruß Thomas
ein Formular mit einer ListBox "lstTable" und einem CommandButton "cmdPrint" erstellen, die Listbox auf
"Multiselect = 1 fmMultiSelectMulti" stellen:
Um mit VBA in Excel mehrere Tabellen auszuwählen und zu drucken, kannst Du die folgenden Schritte befolgen:
Öffne die Excel-Arbeitsmappe, in der die Tabellen liegen.
Drücke ALT + F11, um den VBA-Editor zu öffnen.
Füge ein neues Modul hinzu: Rechtsklick auf „VBAProject (DeineDatei.xlsx)“ > Einfügen > Modul.
Gib den folgenden Code ein:
Sub TabellenDrucken()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Activate
ActiveSheet.PrintOut
Next ws
End Sub
Schließe den VBA-Editor und kehre zu Excel zurück.
Führe das Makro aus: Gehe zu „Entwicklertools“ > „Makros“ > wähle „TabellenDrucken“ und klicke auf „Ausführen“.
Mit diesem Makro druckst Du alle Tabellen in der Arbeitsmappe. Wenn Du spezifische Tabellen drucken möchtest, kannst Du die Schleife anpassen.
Fehler: Makro läuft nicht
Lösung: Stelle sicher, dass Du die Makros in den Excel-Optionen aktiviert hast.
Fehler: Unzureichender Druckbereich
Lösung: Überprüfe den definierten Druckbereich auf den Tabellen. Du kannst den Druckbereich mit ActiveSheet.PageSetup.PrintArea = "A1:D10"
festlegen.
Du kannst auch bestimmte Bereiche oder nur aktive Blätter drucken. Hier ist ein Beispiel, wie Du ein spezifisches Tabellenblatt drucken kannst:
Sub SpezifischesBlattDrucken()
Worksheets("Tabelle1").PrintOut
End Sub
Wenn Du nur einen bestimmten Bereich drucken möchtest, verwende:
Worksheets("Tabelle1").Range("A1:D5").PrintOut
Drucken eines gesamten Tabellenblatts:
Sub GanzeTabelleDrucken()
Worksheets("Tabelle1").PrintOut
End Sub
Drucken mehrerer Tabellen:
Sub MehrereTabellenDrucken()
Dim ws As Worksheet
Dim tabellenArray As Variant
tabellenArray = Array("Tabelle1", "Tabelle2")
For Each ws In tabellenArray
Worksheets(ws).PrintOut
Next ws
End Sub
Seitenlayout anpassen: Vor dem Drucken kannst Du die Seitenausrichtung und andere Druckoptionen anpassen, z.B.:
ActiveSheet.PageSetup.Orientation = xlLandscape
Druckvorschau verwenden: Vor dem Drucken kannst Du die Vorschau anzeigen lassen, um sicherzustellen, dass alles korrekt aussieht:
ActiveSheet.PrintPreview
Automatisierung: Kombiniere das Drucken mit anderen Automatisierungen, um die Effizienz zu steigern.
1. Wie kann ich nur bestimmte Tabellen drucken?
Du kannst die Namen der Tabellen in einem Array speichern und eine Schleife verwenden, um nur diese zu drucken.
2. Gibt es eine Möglichkeit, den Druckbereich vor dem Drucken festzulegen?
Ja, Du kannst den Druckbereich mit ActiveSheet.PageSetup.PrintArea = "A1:D10"
definieren, bevor Du das Blatt druckst.
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