Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1440to1444
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
als PDF speichern
05.08.2015 18:09:47
Christoph
Hallo zusammen
Gerne benötige ich eure Hilfe.
Ich habe eine Arbeitsmappe mit 55 Arbeitsblätter. Gerne möchte ich mit einem Klick ein PDF von all denen Arbeitsblätter erstellen, bei denen in der Zelle A2 ein Wert vorhanden ist.
Dieses PDF soll es mir in den gleichen Ordner speichern, in welcher auch die Excel Datei ist.
Ist dies überhaupt möglich?
Herzliche Grüsse Christoph

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: als PDF speichern
05.08.2015 18:51:51
AlexG
Hallo Christoph,
so?
Option Explicit
Sub PDF()
Dim vntPDF() As Variant
Dim strFilename As String
Dim i, intWs As Long
Dim wks As Worksheet
intWs = ActiveSheet.Index
strFilename = ThisWorkbook.Path & "\" & ThisWorkbook.Name & ".pdf"
For Each wks In Worksheets
    If Not IsEmpty(wks.Range("A2")) Then
        Redim Preserve vntPDF(i)
        vntPDF(i) = wks.Name
        i = i + 1
    End If
Next
Sheets(vntPDF).Select
ActiveWorkbook.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strFilename _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
Sheets(intWs).Select
End Sub

Gruß
Alex

Anzeige
Korrektur
05.08.2015 19:10:00
AlexG
Hallo Christoph,
ich hatte vergessen die Dateiendung der Excel- Datei zu entfernen
Option Explicit
Sub PDF()
Dim vntPDF() As Variant
Dim strFilename As String
Dim i, lngWs As Long
Dim wks As Worksheet
lngWs = ActiveSheet.Index
strFilename = ThisWorkbook.Path & "\" & Left(ThisWorkbook.Name, _
                    InStr(1, ThisWorkbook.Name, ".") - 1) & ".pdf"
For Each wks In Worksheets
    If Not IsEmpty(wks.Range("A2")) Then
        Redim Preserve vntPDF(i)
        vntPDF(i) = wks.Name
        i = i + 1
    End If
Next
Sheets(vntPDF).Select
ActiveWorkbook.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strFilename _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
Sheets(lngWs).Select
End Sub


Gruß
Alex

Anzeige
AW: Korrektur
05.08.2015 19:17:49
Daniel
Hi
ohne es jetzt getestet zu haben, aber beim normalen Speichern in VBA sollte man die Dateiendung im Dateinamen nicht mit angeben, diese wird automatisch vom System passend zum gewählten FileFormat ergänzt.
würde mich wundern, wenn das beim Speichern als PDF änders wäre.
Gruß Daniel

AW: Korrektur
05.08.2015 19:30:03
AlexG
Hallo Daniel,
danke für den Tipp. Ich sah bei den Beispielen der ExportAsFixedFormat- Methode immer, dass die Dateiendung mit angegeben wurde. Ich habe es jetzt auch mal ohne getestet und wie du angemerkt hast, ist diese nicht nötig. Beide Varianten funktionieren.
Danke und Gruß
Alex

Anzeige
AW: Korrektur
05.08.2015 19:39:31
Daniel
Hi
ja, wird so aufgezeichnet und stört auch nicht, wenn sie richtig geschrieben ist.
solltest du dich aber mal vertippen und die falsche Dateierweiterung angeben, dann wird die richtige anden ganzen Dateinamen angehängt.
dh lautet dein Speichername: Datei.pdv
wird die Datei als Datei.pdv.pdf
gespeichert.
Gruß Daniel

Danke für die Erklärung, Gruß owT
05.08.2015 20:03:53
AlexG

AW: Korrektur
05.08.2015 19:22:52
Christoph
Hallo Alex
Herzlichen Dank für deine rasche Rückmeldung. Ich bin immer wieder erstaunt, was ihr alles könnt.
Das Makro funktioniert fast perfekt. Jedoch erstellt es mir nur eine PDF Datei von den Blättern, die im Excel als Querformat sind. Von denen im Hochformat fehlt jede Spur. Kannst du dies auch noch einbauen?
Gruss Christoph

Anzeige
AW: Korrektur
05.08.2015 19:56:51
AlexG
Hallo Christoph,
am Seitenformat liegt es nicht, und ohne deine Datei zu kennen ist es leider nicht möglich den Fehler zu finden.
Gruß
Alex

331 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige