Office: VBA Problem - Tabellenblatt als PDF speichern funktioniert nicht

Helfe beim Thema VBA Problem - Tabellenblatt als PDF speichern funktioniert nicht in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, mein Name ist Marc, und ich bin neu hier... Ich habe ein Problem mit einem Makro und komme leider nicht weiter ☹ vielleicht könnt ihr... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von mastergain, 30. März 2021.

  1. mastergain Neuer User

    VBA Problem - Tabellenblatt als PDF speichern funktioniert nicht


    Hallo zusammen,

    mein Name ist Marc, und ich bin neu hier...
    Ich habe ein Problem mit einem Makro und komme leider nicht weiter ☹ vielleicht könnt ihr mir helfen?

    In der angefügten Datei verwende ich ein Makro welches folgende Funktionen ausführen sollte:

    1. Eine Kopie des Tabellenblatt „Formular“ in PDF umwandeln und in eine Mail packen
    FUNKTIONIERT

    2. Diese Kopie zusätzlich noch unter einem definierten Speicherpfad als PDF abspeichern.
    FUNKTIONIERT NICHT es kommt leider immer nur eine Exceldatei dabei heraus.

    Ich hab schon einige Varianten durchprobiert, und hab keine Ahnung warum es nicht geht.

    Ich würde mich sehr freuen wenn jemand von euch den Fehler entdeckt.

    Viele Grüße und danke im Voraus
    Marc
     
    mastergain, 30. März 2021
    #1
  2. RPP63
    RPP63 Erfahrener User
    Moin und willkommen im Forum!
    Du hast da einen "leicht" chaotischen Code geschrieben.
    Ich fange mal beim ersten "richtigen" Fehler an:
    Es gibt kein Environ("Desktop"), daher wird die Variable savepfadas mit einem Leerstring gefüllt.

    Folgender Vorschlag:
    Gehe in den VBE und öffne das Lokalfenster.
    Dann stepst Du den Code mittels F8 durch und beobachtest, wie die diversen Variablen zur Laufzeit gefüllt werden.
    Ich bekomme z.B. irgendwann einen Doppel-Backslash!
    Da die Variable aber im Anschluss "eigentlich" nicht verwendet wird, stört das nicht weiter.

    Deine PDF wird auf dem Desktop gespeichert und ganz am Schluss gelöscht (Kill strDatei & ".pdf").
    Dann brauchst Du Dich nicht wundern, dass Du sie nicht findest.VBA Problem - Tabellenblatt als PDF speichern funktioniert nicht :cool:

    Conclusio:
    Der "Fehler" ist trivial, der Code sollte aber mal dringend überarbeitet werden.
    Grundsätzlich empfehle ich Dir Option Explicit
    Variablendeklarationen sollten oben im Makro stehen.
    Die Zahl der Variablen sollte so gering wie möglich sein, damit man nicht den Überblick verliert!

    Gruß Ralf
     
  3. RPP63
    RPP63 Erfahrener User
    Nochmal zum Thema Variablen:
    Die sollten nur dann eingesetzt werden, wenn sie wirklich variabel sind (zum Beispiel in Schleifen) oder die Übersicht des Codes verbessern.

    Mal ein Beispiel aus Deinem Code:
    Code:
    Dim save
    save = MsgBox("Soll das Formular für " & Cells(2, 7) & " abgespeichert werden?", vbYesNo)
    If save = vbYes Then
    Da würde ich die Variable (die nirgendwo sonst im Code verwendet wird) gleich ganz weg lassen:
    Code:
    If MsgBox("Soll das Formular für " & Cells(2, 7) & " abgespeichert werden?", vbYesNo) = vbYes Then
     
  4. mastergain Neuer User

    VBA Problem - Tabellenblatt als PDF speichern funktioniert nicht

    Hallo Ralf,

    erst mal vielen Dank für Deine Antwort.

    Ich dachte mir schon das der Code "chaotisch" ist. Ich habe ihn von meinem Vorgänger übernommen, und selbst noch etwas daran rum gebastelt. Ich hab vergessen zu erwähnen das meine VBA Kenntnisse leider äußerst bescheiden sind, und möchte daher im Voraus um Gnade bitten.
    Ich hab versucht deine Ratschläge so gut es geht umzusetzen, leider scheiterte es dann letztendlich doch an meinem Verständnis für die Materie. Das Makro läuft nun soweit durch, allerdings ist mein Problem, eine Kopie der Datei unter dem definierten Speicherpfad als PDF abzuspeichern, immer noch akut. Es bleibt immer bei der XLS :-(

    Den Speicherpfad habe ich im Makro übrigens umbenannt als C:\Users\you\Desktop\meinOrdner und müsste im Falle eines Tests vorher angepasst werden.

    Es wäre super wenn Du noch mal einen Blick auf den Code werfen könntest.

    Viele Grüße
    Marc
     
    mastergain, 31. März 2021
    #4
  5. mastergain Neuer User
    Hallo zusammen,
    ich konnte mein Problem bis auf eine Kleinigkeit selbst lösen.
    Beim speichern der Datei erhalte ich nun als Dateiname "musterdatei.xlsx.pdf".
    Gibt es eine Möglichkeit das "xlsx" aus dem Dateinamen zu entfernen?
    Ich hab auch schon gegoogelt, konnte aber leider keine Befriedigende Lösung erhalten.
    Würde mich freuen wenn jemand helfen kann.

    Hier noch der Code den ich zur Erstellung des PDF verwende:

    Dim vntReturn As Variant
    vntReturn = Application.GetSaveAsFilename(InitialFileName:=strDatei & ".pdf", _
    FileFilter:="PDF-Datei (*.pdf), *.pdf)", Title:="PDF erzeugen")
    If vntReturn <> False Then
    Call ActiveSheet.ExportAsFixedFormat(Type:=xlTypePDF, _
    Filename:=vntReturn, Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    OpenAfterPublish:=False)
    End If


    Viele Grüße
    Marc
     
    mastergain, 6. April 2021
    #5
Thema:

VBA Problem - Tabellenblatt als PDF speichern funktioniert nicht

Die Seite wird geladen...
  1. VBA Problem - Tabellenblatt als PDF speichern funktioniert nicht - Similar Threads - VBA Problem Tabellenblatt

  2. Excel VBA Problem create button

    in Microsoft Excel Hilfe
    Excel VBA Problem create button: Hallo liebe Community, ich hoffe ihr könnt helfen, bin am verzweifeln und kann den Fehler einfach nicht finden. Wir haben eine aufwendig gestallte Excel Liste, wo wir unter anderem Button...
  3. Excel VBA blattschutz Problem

    in Microsoft Excel Hilfe
    Excel VBA blattschutz Problem: Hallo. Ich habe seit ein paar tagen folgendes Problem. Ich habe eine excel tabelle mit mehreren Tabellenblättern. Die Tabellenblätter sind mit einem Blattschutz versehen. Der Blattschutz wurde...
  4. Makro Problem nach Wörtern filtern und Zeilen löschen

    in Microsoft Excel Hilfe
    Makro Problem nach Wörtern filtern und Zeilen löschen: Hallo zusammen! Ich habe ein Makro, dass ich erweitern möchte. Dabei soll in den Daten in der ersten Zeile ein Filter aktiviert werden und alle Datenzeilen löschen, die in Spalte 10 eines von 4...
  5. Problem mit aktivieren/deaktivieren Blattschutz per VBA und dem internen Blattschutz

    in Microsoft Excel Hilfe
    Problem mit aktivieren/deaktivieren Blattschutz per VBA und dem internen Blattschutz: Hallo, ich habe eine Datei mit 13 Arbeitsblättern. 1. Arbeitsblatt heißt "Stammdaten", die Folgenden tragen den Namen des Monats Januar, Februar, März usw. Im Arbeitsblatt "Stammdaten" habe ich...
  6. Berechnungs Problem im VBA Modul

    in Microsoft Access Hilfe
    Berechnungs Problem im VBA Modul: Dieses Problem mag zwar blöd klingen, aber es handelt sich um meine ersten Versuche mit Access/VBA *wink.gif* Ich möchte Zahlen mi 8 Nachkommastellen berechnen, es geht wie auf den Bildern...
  7. VBA: Zellen entsperren/sperren Problem

    in Microsoft Excel Hilfe
    VBA: Zellen entsperren/sperren Problem: Hallo, Ich habe ein Problem mit dem Entsperren/sperren von Zellen im VBA. Es soll ein Dokuemnt sein, dass einen Urlaubsschein elektronisch abbildet und möglichst fälschungssicher ist. Das...
  8. VBA Problem

    in Microsoft Excel Hilfe
    VBA Problem: Hallo zusammen, ich habe folgendes Makro erstellt. Dieser tut was er soll, jedoch wenn er zum Suchbegriff nichts findet übernimmt er das Ergebnis vom letzten Suchbegriff. Wenn das Makro nichts...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden