Ausgeblendete Blätter im Tabellenbaltt nicht drucken
#11
Hallo WS-53

nun, wenn ich keine andere Lösung finde, werde ich Deine Idee umsetzen.

Danke Martin
Antworten Top
#12
Alternativ kannst du auch den Druckbereich dynamisch festlegen:

Hier mal das Ergebnis des Marorecorders:     ActiveSheet.PageSetup.PrintArea = "$A$1:$A$4,$A$6:$A$10,$A$19:$A$21"
Antworten Top
#13
Hallo ws-53

Habe es nun so gemacht, wie Du vorgeschlagen hast. War eine gute Idee und funktioniert super.

Ablauf (für die, welche es interessiert):
   1. ganzes Tabellenblatt kopieren
   2. neues Tabellenblatt (Kopie) umbenennen in "Druck"
   3. Zeilen, die ich vorher ausgeblendet habe im neuen Tabellenblatt löschen
   4. .pdf erstellen und abspeichern
   5. Tabellenblatt "Druck" löschen

Danke für die Hilfe

Gruss

Martin
Antworten Top
#14
Moin allerseits,

du kannst auch einfach alle Zeilen durchlaufen, schauen, ob ein PageBreak vorhanden ist und ob die betreffende Zeile sichtbar ist. Anschließend merkst du dir die sichtbaren seiten und füllst sie in eine Datenstruktur, mit der du später die zu druckenden Seiten ausgibst. In meinem Beispiel habe ich mal ein Dictionary verwendet, weil mir das die Möglichkeit gibt, über die Keys ein Join auszuführen:
Code:
Option Explicit

Sub testen()
    Const FIRSTROW As Integer = 2
    Dim rw As Range
    Dim i As Long
    Dim pages As Object
    Set pages = CreateObject("Scripting.Dictionary")
    i = 1
    For Each rw In Me.UsedRange.Rows
        If rw.Row = FIRSTROW And rw.Hidden = False Then pages.Add i, i
        If rw.PageBreak = xlPageBreakManual Then
            i = i + 1
            If rw.Hidden = False Then pages.Add i, i
        End If
    Next
    Debug.Print Join(pages.keys, ",")
End Sub

Viele Grüße
derHöpp
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste