Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: PDF erstellen mittels VBA-Button

PDF erstellen mittels VBA-Button
05.06.2018 13:35:34
Patrick
Hallo zusammen,
ich suche nach einer Möglichkeit, mittels eines Buttons in einer Tabelle, aus einem festgelegten Bereich in der Tabelle ein PDF zu erstellen, welches anschließend auf dem Desktop gespeichert wird.
Könntet ihr mir mit einem entsprechenden makro weiterhelfen? Leider sind meine VBA-Kenntnisse sehr gering :(
Vielen Dank im voraus!
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PDF erstellen mittels VBA-Button
05.06.2018 13:40:38
Daniel
Hi
kennst du den Makrorecorder?
führe die Aktion "Speichern unter" mit Speichern als PDF von Hand aus und zeichne das mit dem Recorder auf. Dann hast du die Grundlage für deinen Code (ggf ist noch Freinschliff notwendig)
Nützliche Infos für dein Vorhaben findest du hierl (wie benutzt man den Recoder, wie weißt man ein Makro einem Button zu):
http://www.online-excel.de/excel/grusel_vba.php?f=6
Gruß Daniel
Anzeige
AW: PDF erstellen mittels VBA-Button
05.06.2018 14:11:18
Patrick
Hallo,
ich habe es jetzt mit dem Makro-Recorder probiert und es funktioniert soweit ganz gut, allerdings wird auf die Datei von mehreren Leuten zugegriffen, wenn andere das Makro nun ausführen kommt die Meldung dass der Dateipfad nicht gefunden wurde, da mein Desktop hinterlegt ist im Makro.
Kann man hier irgendwie einen allgemeinen Pfad bzw. variablen Pfad festlegen mit dem jeweils die PDF auf dem eigenen Desktop gespeichert wird?
Vielen Dank :)
Anzeige
AW: PDF erstellen mittels VBA-Button
05.06.2018 14:27:36
Daniel
Hi
wo der Desktoppfad genau hinterlegt ist, hängt auch vom Betriebssystem ab.
unter Win7 ist das Desktopverzeichnis immer:
C:\Users\UserName\Desktop
den Usernamen bekommst du mit: Environ("Username")
als ganzes also:
Speichername = "C:\Users\" & Environ("Username") & \Desktop\Dateiname.pdf"
Gruß Daniel
Anzeige
AW: PDF erstellen mittels VBA-Button
05.06.2018 14:35:18
Patrick
Hallo,
bei mir kommt wenn ich die Zeile so einfüge:
ChDir "C:\Users\" & Environ("Username") & \Desktop\Dateiname.pdf"
ein Syntaxfehler raus.
Was mach ich falsch?
Grüße,
Patrick
AW: PDF erstellen mittels VBA-Button
05.06.2018 14:42:44
Daniel
Hi
du hast das Anführungszeichen für den zweiten Teil des fixen Textes nach dem & vergessen.
das ChangeDir brauchst du eigentlich nicht, wenn du den Dateinamen direkt und vollständig angibst.
Gruß Daniel
Anzeige
AW: PDF erstellen mittels VBA-Button
05.06.2018 14:54:32
Patrick
Hi Daniel,
habe es jetzt angepasst und es wird zumindest nicht mehr rot angezeigt, beim testen kam jedoch nun die Meldung "Dateipfad unbekannt".
Ich würde gerne als Dateinamen den Inhalt einer Zelle + das aktuelle Datum nehmen, das würde ich dann gerne direkt in den Code einbinden damit ich damit weiterarbeiten kann.
Grüße,
Patrick
Anzeige
AW: PDF erstellen mittels VBA-Button
05.06.2018 15:20:45
Daniel
Hi
dann hast du den Pfadnamen falsch erstellt.
wenn ich dir da weiterhelfen soll, müsstest du mir zeigen, was du genau gemacht hast und wie der Pfad deines Desktops lautet.
Gruß Daniel
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

PDF erstellen mittels VBA-Button


Schritt-für-Schritt-Anleitung

  1. Button in Excel erstellen:

    • Gehe zu „Entwicklertools“ in der Menüleiste.
    • Klicke auf „Einfügen“ und wähle „Button (Formsteuerelement)“.
    • Zeichne den Button auf deinem Arbeitsblatt.
  2. Makro zuweisen:

    • Klicke mit der rechten Maustaste auf den Button und wähle „Makro zuweisen“.
    • Erstelle ein neues Makro, um den PDF-Druckvorgang zu automatisieren.
  3. VBA-Code für PDF-Erstellung:

    • Öffne den VBA-Editor mit ALT + F11.
    • Füge den folgenden Code ein, um ein PDF zu erstellen:
    Sub PDF_Erstellen()
        Dim Speichername As String
        Speichername = "C:\Users\" & Environ("Username") & "\Desktop\DeinDateiname_" & Format(Date, "YYYYMMDD") & ".pdf"
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Speichername, Quality:=xlQualityStandard
    End Sub
  4. Button testen:

    • Schließe den VBA-Editor und klicke auf deinen Button, um das PDF zu erstellen.

Häufige Fehler und Lösungen

  • Syntaxfehler: Wenn beim Einfügen des Codes ein Syntaxfehler auftritt, überprüfe, ob alle Anführungszeichen korrekt gesetzt sind.

  • Dateipfad unbekannt: Stelle sicher, dass der Pfad korrekt erstellt wurde. Verwende Environ("Username"), um den aktuellen Benutzernamen zu erhalten.

  • Zugriffsprobleme: Wenn mehrere Benutzer auf die Datei zugreifen, kann es sinnvoll sein, den Dateipfad dynamisch zu gestalten, wie im obigen Beispiel.


Alternative Methoden

  • Makro-Recorder: Du kannst den Makro-Recorder nutzen, um die Schritte zum Speichern einer Datei als PDF aufzuzeichnen. Das gibt dir einen Ausgangspunkt für deinen VBA-Code.

  • Excel PDF Button: Du kannst auch den „Drucken“-Button in Excel verwenden, um die PDF-Datei zu generieren, allerdings ist die Automatisierung via VBA meist effizienter.


Praktische Beispiele

  • PDF mit dynamischem Dateinamen: Wenn du den Inhalt einer Zelle als Dateinamen verwenden möchtest, passe den Code wie folgt an:

    Sub PDF_Erstellen()
        Dim Speichername As String
        Speichername = "C:\Users\" & Environ("Username") & "\Desktop\" & Range("A1").Value & "_" & Format(Date, "YYYYMMDD") & ".pdf"
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Speichername, Quality:=xlQualityStandard
    End Sub
  • PDF aus bestimmten Bereichen erstellen: Wenn du nur einen bestimmten Bereich in ein PDF umwandeln möchtest:

    Sub PDF_Bereich_Erstellen()
        Dim Speichername As String
        Speichername = "C:\Users\" & Environ("Username") & "\Desktop\BereichPDF.pdf"
        ActiveSheet.Range("A1:B10").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Speichername
    End Sub

Tipps für Profis

  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen in deinen Code ein, um Probleme beim Speichern zu identifizieren und zu lösen.

  • Automatisierung: Überlege dir, welche weiteren Schritte du automatisieren kannst, wie z.B. das Versenden der PDF-Datei per E-Mail.

  • Aufruf mehrerer Makros: Du kannst mehrere Makros in einem Button ansprechen, um verschiedene Funktionen in einem Schritt auszuführen.


FAQ: Häufige Fragen

1. Wie kann ich den Speicherort für das PDF ändern?
Ändere einfach den Speicherpfad in der Variable Speichername im VBA-Code.

2. Kann ich den Button auch in Excel Online verwenden?
Leider unterstützt Excel Online keine Makros, daher musst du die Desktop-Version verwenden.

3. Wie kann ich das PDF direkt per E-Mail versenden?
Dazu kannst du eine Kombination von VBA und Outlook verwenden, um das PDF direkt zu versenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige