Clever-Excel-Forum

Normale Version: Mehrere Druckbereiche nacheinander zu einer PDF zusammenfügen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Moin Leute

Folgender Tabellenbereich ist gegeben: "F2:K24". Darin haben einige Zellen Werte, andere sind leer.

Ein Filter sorgt dafür, dass in der Spalte F alle Zellen ohne Inhalt ausgeblendet werden.
Mit Worksheet("BLABLA").PageSetup.PrintArea = "F2:F24" krieg ich ja die F-Spalte als Durchbereich hin und mit .PrintPreview dann die Druckvorschau von allen Reihen welche Werte enthalten.

Wie krieg ich es jetzt aber hin, dass er nacheinander die Spalten F bis K durchgeht, den Filter setzt, als Druckbereiche definiert und in der Druckvorschau mir dann 7 Seiten angezeigt werden, wobei jede Seite die entsprechende Spalte abbildet.

Ziel ist es ein PDF zu erstellen, wo jede Seite eine Spalte der Tabelle ausgibt, unabhängig von der Anzahl der vorgegebenen Spalten. Gibt es eine Möglichkeit die Printbereiche inkl. Filter "zwischenzuspeichern"?

Danke und Gruss
Hallo,

Meinst Du das so?



Microsoft Excel Objekt Tabelle1
Sub drucken() 
Dim i As Integer
For i = 6 To 11
    With Worksheets("BLABLA")
    .Range(.Cells(2, i), .Cells(25, i)).PrintPreview
    End With
Next
End Sub

Marcus
Gruß
Grundsätzlich schon, aber wie kriege ich da die Filter rein?

So siehts jetzt aus, wenn nur eine Spalte in der Combobox ausgewählt wird. Ich will es aber auf eine Listbox ändern können:

Code:
Worksheets("Einzel-Daten").Activate
Dim selected As Integer
Dim target As String
Dim target_1 As String
Dim target_2 As String

Dim finden_shooter As Range
Dim treffer_shooter


Set finden_shooter = Rows(2).Find(what:=ComboBox1.Value)
If Not finden_shooter Is Nothing Then
    treffer_shooter = finden_shooter.Address
    selected = Range(finden_shooter.Address).Column
End If

ActiveSheet.Range("A2").AutoFilter selected, "<>"
target_1 = treffer_shooter
target_2 = Cells(Cells(Rows.count, selected).End(xlUp).Row, Range(treffer_shooter).Column).Address
target = Range(target_1, target_2).Address
ActiveSheet.Range(target).PrintPreview
   
ActiveSheet.ShowAllData
Worksheets("Daten").Activate
Hallöchen,

Zitat:Ziel ist es ein PDF zu erstellen, wo jede Seite eine Spalte der Tabelle ausgibt

um Spalten als einzelne Seiten zu drucken kannst Du entweder senkrechte Seitenumbrüche einfügen - wenn das immer so sein soll auch generell und ohne Makro - und die nicht gewollten Spalten ausblenden oder nur ausgewählte Spalten drucken.

Zitat:So siehts jetzt aus, wenn nur eine Spalte in der Combobox ausgewählt wird. Ich will es aber auf eine Listbox ändern können:

Wenn Du damt meinst, das Du in der Listbox Deine Daten hast, z.B. A1:D10 und davon z.B. die Spalte B und D drucken willst, wird das über eine Listboxauswahl nicht gehen.

Wenn Du in der Listbox aber nur die Spalteneinträge hast, also A, B, C und D und daraus auswählen willst, kannst DU im Code prüfen, was gewählt ist. Du könntest aber auch in einer Combobox Multiselect verwenden.