2.1k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,
ich verwende zur Zeit dieses Makro und habe dabei folgende Probleme:
1. Im PDF des 2. Tabellenblatts (Aktionsplanung_Vol) werden nur die ersten 3 Zeilen gedruckt, obwohl mehr Zeilen Inhalt haben

2. Im PDF des 3. Tabellenblatts (Aktionsplanung_Fam) werden nur die ersten 2 Zeilen gedruckt, obwohl mehr Zeilen Inhalt haben

3. Im 4. PDF klappt alles.

Schön wäre auch noch, wenn die Dateinamen wie folgt heißen würden:
2. Tabellenblatt: Aktionsplanung_Vol_Datum_Zelle A2
3. Tabellenblatt: Aktionsplanung_Fam_Datum_Zelle A2
4. Tabellenblatt: Aktionsplanung_67_Datum_Zelle A2

Sub PDF_drucken()
'
' PDF_drucken Makro
'

'
Range("A1:P2").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"G:\Einkauf\Werbung\Aktionsplanungen PDF\Aktionsplanung_Vol_.pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
Range("A1:P2").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Range("B13").Select
Sheets("Aktionsplanung_Fam").Select
Range("A1:I2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"G:\Einkauf\Werbung\Aktionsplanungen PDF\Aktionsplanung_Fam_.pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
Sheets("Aktionsplanung_67").Select
Range("A1:F2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"G:\Einkauf\Werbung\Aktionsplanungen PDF\Aktionsplanung_67_.pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
Range("B14").Select
Sheets("Aktionsplanung_Vol").Select
End Sub

15 Antworten

0 Punkte
Beantwortet von flupo Profi (17.8k Punkte)
Schau mal, ob in den Tabellenblättern Druckbereiche definiert sind.
Du druckst mit "IgnorePrintAreas:=False". Das bedeutet, dass die
Ausdrucke nur beinhalten, was auch innerhalb des Druckbereiches
liegt.

Gruß Flupo
0 Punkte
Beantwortet von
ich wähle tatsächlich den Druckbereich aus, da in den Tabellenblättern bis zur Zeile 1000 Formeln hinterlegt sind. Leerseiten möchte ich aber nicht mitdrucken.
0 Punkte
Beantwortet von
...aber mein druckbereich ist eigentlich größer als das, was gedruckt wird :-/
0 Punkte
Beantwortet von flupo Profi (17.8k Punkte)
Du kannst das Makro auch Zeile für Zeile ablaufen lassen. So kannst du
gucken, welcher Bereich vor dem Druckbefehl markiert ist.
Im VBA-Editor gibt es dafür eine Symbolleiste.

Gruß Flupo
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo,

du selektierst ja Zeilen, beim ersten Blatt sind das zwei Zeilen
Range("A1:P2").Select

Diese ausgewählten Zeilen exportierst dann als PDF:
Selection.ExportAsFixedFormat Type:=xlTypePDF, ...

Bei den anderen beiden Blättern gehst du genauso vor. Daher wird nicht das ganze Blatt als PDF ausgegeben, sondern nur einige Zeilen.
Probier es mal so:
Sub PDF_drucken()
'
' PDF_drucken Makro

Dim strPfad As String

'Pfad und Dateiname für das Blatt Aktionsplanung_Vol werden festgelegt
strPfad = "G:\Einkauf\Werbung\Aktionsplanungen PDF\Aktionsplanung_Vol_" & Date & "_" & Worksheets("Aktionsplanung_Vol").Range("A2").Value

'ganzes Tabellenblatt wird gedruckt
With Worksheets("Aktionsplanung_Vol")
.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
strPfad, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End With

'das zweite Blatt
strPfad = "G:\Einkauf\Werbung\Aktionsplanungen PDF\Aktionsplanung_Fam_" & Date & "_" & Worksheets("Aktionsplanung_Fam").Range("A2").Value

With Worksheets("Aktionsplanung_Fam")
.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
strPfad, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End With

'das dritte Blatt
strPfad = "G:\Einkauf\Werbung\Aktionsplanungen PDF\Aktionsplanung_67_" & Date & "_" & Worksheets("Aktionsplanung_67").Range("A2").Value

With Worksheets("Aktionsplanung_67")
.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
strPfad, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End With

End Sub


Ein vierstes Tabellenblatt kann ich bei deinem geposteten Code nicht erkennen.

Gruß

M.O.
0 Punkte
Beantwortet von
Hallo,
ich habe den neuen Code eingefügt, habe das gleiche Problem - allerdings nur, wenn ich den pdf-druck als makro auslöse.
Könnte das auch am adobe acrobat reader dc liegen?
Im Makro-Code ist ja auch festgehalten, dass im Dateinamen das Datum und der Inhalt aus Zelle A2 eingefügt werden soll. Auch das funktioniert nicht.

colatrinker
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo,

bei mir funktioniert der Code. Bist du sicher, dass du den richtigen Code ausgeführt hast? Der Code gehört in ein allgemeines Modul deiner Arbeitsmappe.

Gruß

M.O.
0 Punkte
Beantwortet von
ich brauchte wohl unbedingt wochenende... jetzt klappt es. ich hatte den code an der falschen stelle eingefügt.
vielen Dank!

Ich poste gleich noch ein neues Problem :-)

Gruß,
colatrinker
0 Punkte
Beantwortet von
Hallo M.O.,

mein Problem mit diesem PDF-Druck ist doch noch nicht ganz behoben :-/.

Bei der Makroausführung passiert wohl dies:
Es werden alle 3 PDFs gedruckt. Bei meiner Datei habe ich in diesen 3 Tabellenblättern nur jeweils 6 Zeilen in denen Inhalt enthalten ist. Auf jedem Tabellenblatt sind 1001 Zeilen mit Formeln hinterlegt. Nun scheint es beim Auslösen des Makros so zu sein, dass alle Seiten gedruckt werden, die eine Formeln enthalten. Somit werden 31 Seiten gedruckt, obwohl nur 1 Seite tatsächlich bedruckt ist.

Bei der manuellen Ausführung gehe ich so vor:
Zellen markieren die gedruckt werden sollen, Datei/Speichern unter, Dateityp "PDF" auswählen und dann auf Optionen . Hier muß ich bei "Was veröffentlichen" den Haken bei "Auswahl" (statt Aktives Blatt) aktivieren.

ich glaube, bei dem Makro muß ich dieses "Auswahl" noch irgendwie aktivieren.

Gibt es dafür einen Code?

Gruß,
Colatrinkerin
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo,

das hattest du in deiner ursprünglichen Problembeschreibung nicht geschrieben. Daher habe ich das Makro so geändert, dass alles ausgedruckt wird. Das beinhaltet natürlich auch die Zeilen mit dem Formeln.

Kannst du vielleicht eine Beispieldatei, die deiner Datei im Aufbau gleicht, mit ein paar Dummy-Daten bei einem Hoster deiner Wahl (z.B. hier) einstellen (mit entsprechenden Erläuterungen, welche Daten ausgedruckt werden sollen etc.)?

Gruß

M.O.
...