Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1704to1708
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Drcukbereiche festlegen für einzelne Blätter

Drcukbereiche festlegen für einzelne Blätter
05.08.2019 09:55:25
Denis
Moin zusammen,
ich habe eine Arbeitsmappe mit einer Vielzahl von Tabellenblättern. Beim Drucken der Arbeitsmappe, sollen lediglich vordefinierte Tabellenblätter (mit ausgewählten Bereichen) ausgedruckt werden.
Erschwerend kommt hinzu, dass ein Tabellenblatt über ein Makro verfügt, dass je nach Anwender über ein unterschiedliche Länge von Zeilen verfügt. Bei diesem Tabellenblatt sollen ausschließlich die Zeilen im Druck erscheinen die befüllt sind. Alle anderen Zeilen dürfen nicht zu sehen sein. Ebenfalls dürfen keine leeren Seiten gedruckt werden.
Die Auswahl / Markierung von Tabellenblättern für den Druck soll aufgrund der Usability keine Option sein. Ist dies überhaupt möglich? Ist es möglicherweise erforderlich, alle Druckbereiche der jeweiligen Tabellenblätter auf einem Tabellenblatt abzubilden und dann nach Auswahl zu drucken?
Ich freu mich über jeden Ratschlag und Hinweis!
Grüße
D

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Drcukbereiche festlegen für einzelne Blätter
05.08.2019 10:34:26
fcs
Hallo Denis,
per Makro kann man es etwa wie folgt lösen.
LG
Franz

Sub Drucken_Auszug()
Dim wksSpezial As Worksheet
Dim Zeile As Long, Zeile_L As Long, rngZelle As Range
'Blatt festlegen in dem Druckbereich variabel und Leere Zeilen ausgeblendet werden sollen  _
vor dem Drucken
Set wksSpezial = ActiveWorkbook.Worksheets("Tabelle1") 'Name des Blatts anpassen
With wksSpezial
'Alle Zeilen einblenden
.Rows.Hidden = False
'Letzte Zeile mit Inhalt ermitteln
Set rngZelle = .Cells.Find(what:="*", After:=.Cells(1, 1), LookIn:=xlValues, lookat:= _
xlWhole, _
searchdirection:=xlPrevious)
Zeile_L = rngZelle.Row
'Zeilen ohne inhalt ausblenden
For Zeile = 1 To Zeile_L
'Prüfen ob in Zeile Inhalte vorhanden sind
Set rngZelle = .Rows(Zeile).Find(what:="*", After:=.Cells(Zeile, .Columns.Count),  _
LookIn:=xlValues, _
lookat:=xlWhole, searchdirection:=xlPrevious)
If rngZelle Is Nothing Then
'leere Zeile ausblenden
.Rows(Zeile).Hidden = True
End If
Next
End With
'Namen der zu druckenden Blätter im Array anpassen/ergänzen
ActiveWorkbook.Sheets(Array("Tabelle1", "Tabelle3")).PrintOut Preview:=True
'Gruppierung der Blätter wieder aufheben durch Selektion des 1. Blattes
ActiveWorkbook.Sheets(1).Select
'Zeilen im Spezialblatt wieder einblenden
With wksSpezial
.Rows.Hidden = False
End With
End Sub

Anzeige
AW: Drcukbereiche festlegen für einzelne Blätter
05.08.2019 11:09:19
Denis
Moin Franz,
vielen Dank für die zügige Antwort und Erstellung des Makros - klappt super!
Das Auslösen des Druckbefehls erfolgt über "Markos anzeigen" und dann "Ausführen", richtig? Übersehe ich eine andere Möglichkeit? Gibt es noch eine andere Alternative, wie z. B. über einen "Knopf" bzw. Steuerelement in einem Tabellenblatt?
Danke schonmal!
Denis
AW: Drcukbereiche festlegen für einzelne Blätter
05.08.2019 11:59:22
Denis
Hab es selber gelöst bekommen!
Danke!
AW: Drcukbereiche festlegen für einzelne Blätter
05.08.2019 12:01:54
fcs
Hallo Denis,
du kannst auch auf einem Tabellenblatt eine Schaltfläche einfügen (aus den Formularsteuerelementen).
Dieser kannst du dann das Makro zum Drucken zuweisen.
LG
Franz
Anzeige
AW: Drcukbereiche festlegen für einzelne Blätter
05.08.2019 12:53:11
Denis
Danke Franz!
Hatte es selber gelöst bekommen.
Grüße
Denis

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige