Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Drucken bis letzte beschriebene Zeile

Drucken bis letzte beschriebene Zeile
27.03.2020 10:34:13
Tommy
Hallo
Aktuelle nutze ich folgenden Code auf einem Tabellenblatt.
Wenn ich Drucke wird ein Pdf erstellt und auf dem Laufwerk gespeichert.
Es wird dabei nur bis zur letzten beschrieben Zeile gedruckt.
Dim LoI As Long ' Schleifenvariable
Dim LoLetzte As Long ' Variable für letzte Zeile
' letzte Zeile unabhängig von Excelversion für Spalte I (9)
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), _
Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
For LoI = LoLetzte To 2 Step -1
If Cells(LoI, 1) Empty Then Exit For
Next LoI
' Druckbereich festlegen
ActiveSheet.PageSetup.PrintArea = "$A$1:$H$" & LoI
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"U:\Groups\130_EBW_B\VMK-INFO\karten\begleitkarten\" & Worksheets("karte").Range("P17") & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
Nun möchte ich zwei Tabellenblätter zu einem PDF zusammenfügen, was auch klappt.
Jedoch klappt das mit der letzten beschrieben Zeile nicht.
Wie kann ich das beim erstellen des PDF's auf beide Tabellenblätter anwenden?
Dim LoI As Long ' Schleifenvariable
Dim LoLetzte As Long ' Variable für letzte Zeile
' letzte Zeile unabhängig von Excelversion für Spalte I (9)
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), _
Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
For LoI = LoLetzte To 2 Step -1
If Cells(LoI, 1) Empty Then Exit For
Next LoI
' Druckbereich festlegen
Sheets(Array("karte", "karte2")).Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$H$" & LoI
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"U:\Groups\130_EBW_B\VMK-INFO\karten\begleitkarten\" & Worksheets("karte").Range("P17") & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Drucken bis letzte beschriebene Zeile
27.03.2020 11:00:23
Daniel
Hi
auch wenn du eine Gruppe von mehreren Tabellenblättern hast, gibt es immer noch nur ein aktives Tabellenblatt und nur dieses sprichst du mit ActiveSheet an.
wenn du alle ausgewählten Blätter ansprechen willst, musst du anstelle von ActiveSheet den Ausdruck ActiveWindow.SelectedSheets verwenden
allerdings ist bei mir die Menüfunktion "Druckbereich" ausgegraut, wenn ich mehrere Tabellenblätter als Gruppe selektiere.
Das lässt mich vermuten, dass man den Druckbereich für jedes Blatt einzeln einstellen musst.
Gruß´Daniel
Anzeige
AW: Drucken bis letzte beschriebene Zeile
27.03.2020 11:30:29
Tommy
Ah, ok.
habe das gefunden, komme aber nicht so recht damit zurecht.
Sub Druckbereich_anders()
Dim i As Integer
Dim z As Integer
Set wksQuelle = ActiveSheet
Range("B3").Select  'Startposition angeben
Selection.Name = "aErsteZeile"
For z = wksQuelle.Range("aErsteZeile").Row To 6000  'letzte Zeile anpassen
If Cells(z, 1).Value  0 Then
Cells(z, 1).Name = "aLetzteZeile"
End If
Next
Range(Cells(2, 1), Cells(Range("aLetzteZeile").Row, 20)).Select 'anstelle von 20, deine letzte  _
Spalte
Selection.Name = "Druckbereich"
End Sub

Nur wie spreche ich nun Tabelle 1 und Tabelle 2 an.
Das würden dann 2 Druckbereiche sein, die ich wiederum hier einbauen muss:
' Druckbereich festlegen
Sheets(Array("karte", "karte2")).Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$H$" & LoI
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"U:\Groups\130_EBW_B\VMK-INFO\karten\begleitkarten\" & Worksheets("karte").Range("P17") & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
Anzeige
AW: Drucken bis letzte beschriebene Zeile
27.03.2020 13:22:42
Daniel
Was konkret ist deine Frage?
Wenn du zwei Blätter in ein PDF speichern willst, dann musst du auch beide Blätter selektieren (kannst du) und beide gemeinsam drucken (habe ich dir gezeigt)
Ansonsten hilft es, das Ganze von Hand auszuführen, dabei den Recorder mitlaufen zu lassen uns sich dann den aufgezeichneten Code anzuschauen.
Gruß Daniel
Anzeige
AW: Drucken bis letzte beschriebene Zeile
30.03.2020 14:06:21
Tommy
Hallo
Ich möchte zwei Tabellenblätter in eine PDF packen, aber nur jeweils bis zur letzten beschriebenen Zeile.
Das Problem ist, das die Tabellenblätter immer unterschiedlich lang sind.
Deshalb dachte ich das ich den letzten Code so nutzen kann, das er einmal Druckbereich 1 und einmal Druckbereich 2 speichert und ihn als ein PDF ausspuckt.
Leider kenne ich mit dem Programmieren nicht so aus, daher bräuchte ich dabei Hilfe. Alles andere funktioniert prima, das wäre sozusagen das letzte was fehlt.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige