Freigeben über

VBA Excel Seite als PDF speichern

Anonym
2022-04-28T21:12:21+00:00

Hallo,

ich möchte gerne eine Seite/Auswertungstabelle als PDF abspeichern.

Die Seite ist entsprechend eingerichtet.

Folgenden VBA Code habe ich benutzt:

Sub PDF()

'Seite als PDF speichern auf dem Desktop'

ThisWorkbook.ExportAsFixedFormat xlTypePDF, _

Filename:="C:\Users\Mallorca\Schreibtisch\AuswertungPDF.pdf"

End Sub

Folgende Fehlermeldung bekomme ich.  

Kann jemand helfen?

Vielen Dank und viele Grüße

Andreas

Microsoft 365 und Office | Excel | Für Zuhause | MacOS

Gesperrte Frage. Diese Frage wurde aus der Microsoft-Support-Community migriert. Sie können darüber abstimmen, ob sie hilfreich ist, aber Sie können keine Kommentare oder Antworten hinzufügen oder der Frage folgen.

0 Kommentare Keine Kommentare

6 Antworten

Sortieren nach: Am hilfreichsten
  1. Anonym
    2022-04-29T09:42:26+00:00

    Hallo Claus,

    erstmal vielen Dank ,ich habe von Andreas (Freiwilliger Moderator) den u.a. Hinweis bekommen, dass bei MAC die Verzeichnisse anders benannt sind. Das habe ich nicht gewusst. Ich habe meine Anfrage daraufhin nochmal verändert. Vielleicht kannst Du ja auch helfen s.u. Nachricht an Andreas

    viele Grüße

    Andreas

    Eine Person fand diese Antwort hilfreich.
    0 Kommentare Keine Kommentare
  2. Anonym
    2022-04-28T21:45:09+00:00

    Hallo Andreas,

    du musst bei den benannten Argumenten überall den Typ vorstellen oder überall weglassen.

    Also entweder:

    ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ 
    
            "C:\Users\claus\Desktop\Prognose.pdf"
    

    oder:

    ThisWorkbook.ExportAsFixedFormat xlTypePDF, _ 
    
            "C:\Users\claus\Desktop\Prognose.pdf" 
    

    Edit: Mit ThisWorkbook speicherst du die komplette Mappe. Wenn du nur ein Blatt als .pdf speichern möchtest, beziehe dich nur auf das Blatt.

    Claus

    Eine Person fand diese Antwort hilfreich.
    0 Kommentare Keine Kommentare
  3. Andreas Killer 144.1K Zuverlässigkeitspunkte Freiwilliger Moderator
    2022-04-29T10:11:19+00:00

    Siehe Code unten.

    Aber Vorsicht, der Zellinhalt in den Zellen muss den Konventionen der Dateinamen auf einem Mac entsprechen!
    Sprich ein "/" ist nicht erlaubt und erzeugt dann einen Fehler.

    Andreas.

    Sub PDFSpeichern()
    Dim FName As String
    FName = "/Users/Mallorca/Desktop/PDFSafeFolder/" & _
    Range("H3") & "_" & Range("J3") & ".pdf"
    ActiveSheet.ExportAsFixedFormat xlTypePDF, FName
    End Sub

    0 Kommentare Keine Kommentare
  4. Anonym
    2022-04-29T09:38:41+00:00

    Hallo Andreas,

    Danke für den Hinweis. Da hast Du recht mit dem Verzeichnis. Wäre ich selber aber nie draufgekommen.

    Ich habe jetzt folgende Code benutzt, den ich aber aufgezeichnet habe. Er funktioniert auch einwandfrei.

    Sub PDFSpeichern()

    ' ' PDFspeichern Makro

    Range("C1:R28").Select

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _ "/Users/Mallorca/Desktop/PDFSafeFolder/TestPDF.pdf", Quality:= _

    xlQualityMinimum, IncludeDocProperties:=True, IgnorePrintAreas:=False, _

    OpenAfterPublish:=False

    End Sub

    Trotzdem müsste ich noch eine Erweiterung haben. Ich benötige, 

    1.     das bei jedem Click eine neue Datei erzeugt wird und nicht, wie jetzt, die alte überschrieben wird.   z.B.TestPDF1; TestPDF2........  und somit 

    2.     das sich der DateiName auf eine 2 bestimmte Zellen der Seite bezieht. z.B. Hans Mueller_BFF1.pdf

    (die Zellen sind H3 und J3)

    Hintergrund ist, es sollen Notenblätter für Schüler und Klassen abgespeichert werden.

    Kannst du helfen, wie ich den Code anpassen müsste?

    Viele Grüße

    Andreas

    0 Kommentare Keine Kommentare
  5. Andreas Killer 144.1K Zuverlässigkeitspunkte Freiwilliger Moderator
    2022-04-29T03:53:02+00:00

    Filename:="C:\Users\Mallorca\Schreibtisch\AuswertungPDF.pdf"

    Laufwerk C:\Users\ auf einem Mac? Ich denke mal das kannst Du komplett vergessen.

    Kuck mal hier:
    https://macexcel.com/examples/mailpdf/makemailpdf/index.html

    Andreas.

    0 Kommentare Keine Kommentare