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

VBA pdf erzeugen von bestimmten Arbeitsblättern

VBA pdf erzeugen von bestimmten Arbeitsblättern
04.09.2018 10:16:18
bestimmten
Hallo zusammen,
ich bin nun schon seit ein paar Tagen am suchen und probieren. Komme aber nicht ans Ziel.
Ich habe ein Übersichtsblatt und 16 weitere Blätter. Es soll nur mit der Übersicht gearbeitet werden. Dort kann ich bis zu 16 Namen eintragen, die dann Automatisch auf das jeweilige Blatt eingetragen werden. Das Funktioniert auch super.
Nun möchte ich per Knopfdruck eine PDF erzeugen lassen. Das aber nur aus den Arbeitsblättern bestehen soll in dem auch ein Name eingetragen wurde.
Folgendes habe ich benutzt:
Sub Drucken()
Dim rngBereich As Range, rng As Range
Dim iCounter As Integer
With Worksheets("Übersicht")
Set rngBereich = .Range("B11:B26")
ReDim ar(WorksheetFunction.CountA(rngBereich) - 1)
For Each rng In rngBereich
If rng  "" Then
ar(iCounter) = rng.Offset(, -1)
iCounter = iCounter + 1
End If
Next rng
End With
Sheets(ar).PrintPreview
End Sub

Das Funktioniert soweit auch ganz gut.
Nun wollte ich anstelle des PrintPreview den Export packen, aber das klappt nicht so einfach.
Sheets(ar).Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\TEMP\Testdatei2.pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
Hat jemand eine Idee wie man das lösen könnte?

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA pdf erzeugen von bestimmten Arbeitsblättern
04.09.2018 10:58:07
bestimmten
Hallo Blome,
Ich nutze die Methode auch oft. Allerdings mit ActiveSheet.ExportAsFixedFormat anstelle von Selection.ExportAsFixedFormat.
Ich hatte es mal getestet in einer neuen Datei und als Bereich A1 bis A5 gewählt und den Offset rausgenommen, bei mir funktioniert es so einwandfrei:

Sub Drucken()
Dim rngBereich As Range, rng As Range
Dim iCounter As Integer
With Worksheets("Tabelle1")
Set rngBereich = .Range("A1:A5")
ReDim ar(WorksheetFunction.CountA(rngBereich) - 1)
For Each rng In rngBereich
If rng  "" Then
ar(iCounter) = rng
iCounter = iCounter + 1
End If
Next rng
End With
ThisWorkbook.Sheets(ar).Select
'Sheets(ar).PrintPreview
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"d:\a.pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=True, _
OpenAfterPublish:=True
End Sub

Gruß
Zacharias
Anzeige
AW: VBA pdf erzeugen von bestimmten Arbeitsblättern
04.09.2018 11:17:10
bestimmten
Hallo Zacharias,
vielen Dank für deine Hilfe. Das klappt bei mir auch super!!
Jetzt habe ich nur noch ein Problem:
Jedes Tabllenblatt besteht aus 2 Seiten. Diese sind alle gleich aufgebaut. Die Kopf und Fußzeilen der Blätter sind Unterschiedlich. Das habe ich über Kop- und Fußzeilentools - Entwurf - Erste Seite anders Eingestellt. In den einzelnen Blättern wird es auch richtig angezeigt.
Kopfzeile Seite 1: Übergabe
Kopfzeile Seite 2: Rückgabe
Wenn ich nun eine Auswahl drucke, wird bei dem ersten Tabellenblatt alles richtig dargestellt und bei den restlichen steht in jeder Kopfzeile "Rückgabe"...
Glaube das es nichts mehr mit VBA zu tun hat, aber vielleicht kennt ja jemand dieses Problem?
Gruß Christian
Anzeige
AW: VBA pdf erzeugen von bestimmten Arbeitsblättern
04.09.2018 12:35:57
bestimmten
Hallo Christian,
Bei mir funtkioniert es wie es soll.
Hast Du evtl. die Folgeblätter einschließlich der Kopfzeilen von Seite 2 aus kopiert !?
Z.B. mehrere Blätter selektiert und dann die Kopfzeile beschrieben.
Einfach mal in der Seitenansicht die Blätter ab 3 ansehen.
Ich benutze die Methode des Öfteren und auch für verschieden formatierte Blätter,
das klappt eigentlich immer.
Gruß
Zacharias
AW: VBA pdf erzeugen von bestimmten Arbeitsblättern
04.09.2018 13:01:40
bestimmten
Hey,
ne die Kopf-und Fußzeilen habe ich erst nachträglich gemacht. Dazu habe ich alle Blätter ausgewählt und dann die Änderungen vorgenommen.
Ich kann die Datei hier leider nicht hochladen, deshalb habe hier ein Link:
https://ilwmainz-my.sharepoint.com/:x:/g/personal/c_blome_ilwmainz_onmicrosoft_com/EWz7PSLz4tJGra1JJeVDk-ABcXbVjohxm9P-FCzn3mRt4g?e=LMEuhQ
In der Datei sieht alles super aus, aber sobald ich auf Drucken gehe ist es anders als au den Blättern :/
Gruß Christian
Anzeige
AW: VBA pdf erzeugen von bestimmten Arbeitsblättern
04.09.2018 21:00:55
bestimmten
Habe die Kopfzeilen nochmal bei allen Blättern gleichzeitig bearbeitet und nun geht es auch.
Danke nochmal für deine Hilfe!

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige