Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1748to1752
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

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

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
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
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

317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige