Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Mehrere Druckbereiche nacheinander zu einer PDF zusammenfügen
#1
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
Antworten Top
#2
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ß

Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Antworten Top
#3
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
Antworten Top
#4
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.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


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