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. 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. 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. Problem im Code für Mehrfachauswahl in Dropdownliste

    in Microsoft Excel Hilfe
    Problem im Code für Mehrfachauswahl in Dropdownliste: Hallo beisammen, ich soll für meinen Stiefvater eine Tabelle über seine Bestandskunden und deren Produkte erstellen und bin dabei nun auf folgendes Problem gestoßen: Ich brauche in mehreren...
  3. Excel VBA / Daten kopieren wenn Liste auf x steht.

    in Microsoft Excel Hilfe
    Excel VBA / Daten kopieren wenn Liste auf x steht.: Hallo zusammen, ich habe ein PowerQuery, welches ich ca. 2 mal im Monat aktualisiere. Aus dem Query möchte ich gerne die Daten per Makro in ein anderes Arbeitsblatt kopieren. Dabei möchte ich...
  4. kleines Problem beim erstellen von serienbriefen per vba

    in Microsoft Excel Hilfe
    kleines Problem beim erstellen von serienbriefen per vba: Hallo Zusammen ich habe letztes Jahr mit Hilfe eines Forums einen VBA Code erstellt mit dem ich Serienbriefe aus einer Exceldatei erstellen kann. Jetzt habe ich das Sheet in Excel angepasst und...
  5. Outlook VBA NewMail Funktion Problem

    in Microsoft Outlook Hilfe
    Outlook VBA NewMail Funktion Problem: Hallo zusammen, ich möchte aus eingehenden E-Mails Anlagen in einem vorgegebenen Order abspeichern. Ich habe mir dazu ein Makro aus dem Netzt gemopst - zugegebenermaßen- was genau das kann....
  6. 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...
  7. 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...
  8. 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...
  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