Office: (Office 2016) Excel ActiveSheet als PDF speichern

Helfe beim Thema Excel ActiveSheet als PDF speichern in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich nutzer Office 2016 unter Windows 10 professional Bis vorgestern lief seit 2 Jahren folgender VBA Code problemlos: Sub R_PDF_speichern() '... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von JoachimW, 3. Dezember 2021.

  1. JoachimW Neuer User

    Excel ActiveSheet als PDF speichern


    Hallo,

    ich nutzer Office 2016 unter Windows 10 professional

    Bis vorgestern lief seit 2 Jahren folgender VBA Code problemlos:
    Code:
    Sub R_PDF_speichern()
    ' PDF Rechnung speichern
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="G:\1-shop\Büro\RNR-VK\2021\" & Range("H15") & "_Rechnung.pdf",  Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False,  OpenAfterPublish:=False
    End Sub
    Seit gestern gibt er mir diesen Fehler aus:
    Excel ActiveSheet als PDF speichern upload_2021-12-3_12-49-3.png

    Und wenn ich auf Debuggen klicke, zeigt er mir dies:
    Excel ActiveSheet als PDF speichern upload_2021-12-3_12-57-29.png
    Also im Grund die gesamte Zeile mit dem eigentlichen Code.

    Hat jemand einen Rat, wo ich ansetzen kann das ich wieder den Druckbereich des Blattes auf dem der Button dieses VBA-Script auslöst per Button als PDF speichern kann?

    Mit freundlichen Grüßen, Joachim
     
    JoachimW, 3. Dezember 2021
    #1
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    giebt es den Ordner nicht?
    Enthält die Zelle H15 Sonderzeichen?

    Excel ActiveSheet als PDF speichern GrußformelExcel ActiveSheet als PDF speichern Homepage
     
    Hajo_Zi, 3. Dezember 2021
    #2
  3. JoachimW Neuer User
    Die Zelle H15 enthält Daten nach dem Schema:
    S2021-xxxx
    wobei xxx eine fortlaufende Nummer ist. Also nur Alphanumerische Zeichen und den Bindestrich. Lief damit ja auch die letzten 3 Jahre ohne Fehler.

    Der Ordner existiert - bis zum Zeitpunkt als es nicht mehr ging, wurde der Ordner tgl. beschrieben und die Festplatte hat noch 200 GB Platz.

    Ich bin da wirklich etwas ratlos und konnte auch nichts konkret hilfreiches bisher online finden.
    Ich werde aber mal ein Update auf Office 2019 anstreben, vielleicht bessert sich damit was und teste übers WE mal ältere Sicherungen der XLSM Datei. ob diese auch den Fehler bringen.
     
    JoachimW, 4. Dezember 2021
    #3
  4. JoachimW Neuer User

    Excel ActiveSheet als PDF speichern

    Ergänzend: ein Druck (als PDF) in besagtes Verzeichnis unter besagtem Namen funktioniert klaglos, ist aber eben umständlicher als das Makro mit einem Button anzusteuern.
     
    JoachimW, 4. Dezember 2021
    #4
  5. JoachimW Neuer User
    Ich habe eben noch mit einer weiteren Variante eines Makros mit der gleichen Aufgabe experimentiert, inspiriert von diesem Video:


    Code:
    Sub Makro_Rechnung_PDF_unter()
    ' Tastenkombination: Strg+p
     
        Dim DateiName As String
        DateiName = Range("K3") & Range("H15") & "_Rechnung.pdf"
     
        Range("A1:I58").ExportAsFixedFormat Type:=xlTypePDF, Filename:=DateiName, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
     
    End Sub
    Zelle K3: C:\test\
    In Zelle K3 trage ich ein Verzeichnis ein...

    Zelle H15: S2021-0123
    In Zelle H15 steht einfach eine ID Alphanumerisch mit Bindestrich

    Range A1:I58
    Dieser Range deckt den Druckbereich ab


    Ergebnis wieder: Laufzeitfehler '1004', Anwendungs- oder Objektorientierter Fehler
    Excel ActiveSheet als PDF speichern upload_2021-12-4_21-17-8.png


    Diesmal im Debugger mal unten nach Details geschaut:
    Excel ActiveSheet als PDF speichern upload_2021-12-4_21-17-49.png

    Das sagt mir als Laien nur:
    - die Variable wird erstmal richtig zusammen gesetzt aus Zelle K3 und H15 sowie dem Rest und richtig als String deklariert.

    Geh ich mit der Maus über die gelb markierte Zeile, zeigt er mir noch folgendes an:
    Excel ActiveSheet als PDF speichern upload_2021-12-4_21-21-47.png
    Excel ActiveSheet als PDF speichern upload_2021-12-4_21-22-5.png
    Excel ActiveSheet als PDF speichern upload_2021-12-4_21-22-19.png

    Und im Rest vom Code:
    Excel ActiveSheet als PDF speichern upload_2021-12-4_21-22-54.png
    Excel ActiveSheet als PDF speichern upload_2021-12-4_21-23-29.png
    Excel ActiveSheet als PDF speichern upload_2021-12-4_21-23-7.png


    Woran stört sich Excel 2016... Ich komme einfach nicht weiter, bzw. sehe das Problem nicht was Excel da mit dem Makro hat. Excel ActiveSheet als PDF speichern :(
     
    JoachimW, 4. Dezember 2021
    #5
  6. Beverly
    Beverly Erfahrener User
    Hi Joachim,

    ich kann dein Problem nicht nachvollziehen - in meiner Testdatei (Excel2016 32bit) läuft der Code fehlerfrei.
    Hast du den Code mal in einer anderen Mappe getestet?


    Excel ActiveSheet als PDF speichern GrußformelExcel ActiveSheet als PDF speichern Beverly's Excel - Inn
     
    Beverly, 5. Dezember 2021
    #6
  7. JoachimW Neuer User
    Ja, auch alte Sicherheitskopien der bestehenden Mappe - immer das Gleiche Problem, weshalb ich den Fehler tendenziell eher bei Excel, Win10 oder anderweitig am Rechner mittlerweile suche.

    Was mich wundert, ein "ausdrucken" (also speichern), per Hand über den MS PDF Printer klappt problemlos (Drucker umstellen auf PDF Printer, drucken, Speicherort wählen, fertig) - ich mein was anderes macht doch das Makro auch nicht, oder?
    Nur das von Hand jedes mal umzustellen macht mich auf Dauer fertig, deshalb ja die Makros.

    Ich werde heut Abend mal die Mappe an einem anderen Rechner mit ebenfalls Office 2016 testen - nicht das mein Problem eher an Win10 auf dem einen speziellen PC zu suchen ist, wobei ich da dann auch nicht weiter weiß.

    Offene Tests:
    1. Office 2016 auf dem Win10 Laptop mit der Problem-Mappe und PDF speichern testen
    2. Neuinstallation von Office auf dem Win10 PC, am besten wohl gleich Office 2019 oder gar 2021?

    An dem Tag, ab dem es nicht mehr ging, hab ich rückblickend 3 Treiberupdates gemacht, ein Win10 Update und einige Monitorsettings probiert um eine gescheite Darstellung zu erreichen. Vielleicht liegt es eher in der Richtung, obgleich ich es mir noch nicht so recht vorstellen kann. Wer weiß. Windows bringt einen eh noch in den Wahnsinn mit den dauernden Updates und jedes mal russisch Roulette ob hinterher noch alles geht...

    Ich werde berichten. Danke schon mal bis hier hin. Excel ActiveSheet als PDF speichern *:)*
     
    Zuletzt bearbeitet: 6. Dezember 2021
    JoachimW, 6. Dezember 2021
    #7
  8. JoachimW Neuer User

    Excel ActiveSheet als PDF speichern

    So. Office 2016 professional plus sauber deinstalliert, Rechner neu gestartet, neues Office 2019 professional plus installiert, freigeschaltet und ...

    immer noch das selbe Problem.

    Letzter Versuch: Tests mit einer leeren Arbeitsmappe - obgleich, wenn es denn dann dort funktionieren sollte, ich noch nicht weiß wie ich dann meine bestehende Mappe wieder zurecht biegen kann.
    Aktuell ist es extrem nervig, ständig vom normalen Drucker auf den Microsoft PDF Printer hin und her switchen. Zumal es mich fertig macht, das der normale PDF Druck geht, dieses per Makro angestoßen aber zum besagten Fehler führt...

    Hat nicht doch noch jemand eine zündende Idee wie ich dem Fehler auf die Schliche kommen kann?
     
    JoachimW, 10. Dezember 2021
    #8
  9. JoachimW Neuer User
    Weiter gehts ...

    Leere Mappe neu erstellt (Excel 2019). Druckbereich festgelegt, Button eingefügt, Makro dazu - gleiches Problem.

    Dann als nächsten Versuch hier die Demo-Datei herunter geladen:
    PDF Datei per VBA erzeugen - Excel-Inside Solutions
    geöffnet, Button gebaut, das bereits integrierte Makro damit verknüpft... was soll ich sagen. Fehler 1004.

    Zum Haare raufen - warum kann ich über den PDF Printer von Hand problemlos PDFs erzeugen nur partout nicht per Makro? Und wie kann es kommen, dass eben diese Makros bis vor ein paar Tagen Jahre liefen, und jetzt den Dienst komplett verweigern? Andere Makros laufen problemlos (Drucken über den Standarddrucker (HP Officejet) per One-Click-Button z.B.
    Einzig ausstehender Test der mir noch einfällt, der Test der Mappen auf einem anderen PC (Laptop, Win10, Excel 2016).

    Was wenn es dort dann geht? Wo setzt man dann an?
    Oder gibt es detailliertere Error-Logs als der doch recht wortlose Fehler 1004?
     
    JoachimW, 10. Dezember 2021
    #9
  10. JoachimW Neuer User
    OK, kleiner Fortschritt:

    1. ich habe mir mittels dieses VBA scripts den gerade aktiven Drucker anzeigen lassen um zu sehen ob dies geht und dessen exakten Namen zu erhalten:
    Code:
    Sub AktivenDrucker_anzeigen()
    'zeigt einfach den gerade aktiven Drucker an
      MsgBox "Name-AktiverDrucker: " & Application.ActivePrinter
    End Sub
    Ausgabe:
    Excel ActiveSheet als PDF speichern upload_2021-12-10_12-39-21.png
    Ok...

    2. folgendes VBA Script probiert:

    Code:
    Sub PDF_Test()
    'getestet unter Excel 2010, Windows XP - umschalten von Netzwerk-Drucker auf Microsoft Print to PDF-Drucker
      Dim strDruckerAktiv As String, strDruckerPDF As String
      strDruckerAktiv = Application.ActivePrinter 'Drucker merken
      strDruckerPDF = "Microsoft Print to PDF auf Ne02:"
      Application.ActivePrinter = strDruckerPDF
      ActiveSheet.PrintOut preview:=False
      Application.ActivePrinter = strDruckerAktiv 'Drucker zurücksetzen
    End Sub
    Ausgabe:
    Excel ActiveSheet als PDF speichern upload_2021-12-10_12-43-17.png

    OK - er kann auf diesen Umweg also ein PDF auch angestoßen per Makro speichern.

    Also speichere ich das mal ab und dann ... kein Laufzeitfehler, aber er setzt auch nicht allein auf den vorherigen Standard Drucker zurück.
    grmpf....:-(

    OK, also wandle ich das Script etwas ab:
    Code:
    Sub PDF_Test()
    'getestet unter Excel 2010, Windows XP - umschalten von Netzwerk-Drucker auf FreePDF-Drucker
      Dim strDruckerAktiv As String, strDruckerPDF As String
      strDruckerAktiv = "HP Officejet Pro 8610 USB auf Ne04:" 'Standarddrucker setzen
      strDruckerPDF = "Microsoft Print to PDF auf Ne02:"
      Application.ActivePrinter = strDruckerPDF
      ActiveSheet.PrintOut preview:=False
      Application.ActivePrinter = strDruckerAktiv 'Drucker zurücksetzen auf Standarddrucker
    End Sub
    Und siehe - es funktioniert.

    Schon mal ein Schritt in die richtige Richtung... mal weiter testen und probieren... :-)
     
  11. JoachimW Neuer User
    So - über diesen "lustigen" Umweg kann ich jetzt erst einmal wieder aus der Excel Mappe heraus per Button ein PDF speichern und so das Ganze auch kombinieren um z.B. ein PDF zu speichern, und einen Farb- und einen SW-Ausdruck nachfolgend zu starten.

    Code:
    Sub PDF_Test()
    'getestet unter Excel 2019, Windows 10 - umschalten von Standard-Drucker auf "Microsoft Print To PDF"-Drucker
      Dim strDruckerAktiv As String, strDruckerPDF As String        'Variablen definieren
      strDruckerAktiv = "HP Officejet Pro 8610 USB auf Ne04:"       'Standarddrucker setzen
      strDruckerPDF = "Microsoft Print to PDF auf Ne02:"            'PDF-Drucker setzen
      Application.ActivePrinter = strDruckerPDF                     'PDF-Drucker aktivieren und nachfolgend "drucken" also speichern
      ActiveSheet.PrintOut preview:=False, PrToFileName:="G:\Verzeichnis\" & Range("H15") & "_Rechnung.pdf", IgnorePrintAreas:=False
      Application.ActivePrinter = strDruckerAktiv                   'Drucker zurücksetzen auf Standarddrucker
    End Sub
    Ach ja - er holt sich auch wieder die Rechnungsnummer aus der Zelle H15 und druckt/speichert in das korrekte Verzeichnis unter dem korrekt zusammen gesetzten Dateinamen ab.

    Yeah! Ein kleiner Teilerfolg. ;-) :-)


    Warum jedoch der Standardweg, über den PDF Export kategorisch zu einem Laufzeitfehler führt ist mir noch immer Rätselhaft - daher wäre ich an der Front immer noch für Hilfe und Tipps dankbar
     
Thema:

Excel ActiveSheet als PDF speichern

Die Seite wird geladen...
  1. Excel ActiveSheet als PDF speichern - Similar Threads - Excel ActiveSheet PDF

  2. Pivot Chart: Balken umformatieren

    in Microsoft Excel Hilfe
    Pivot Chart: Balken umformatieren: Hey, ich habe folgendes Problem: Ich habe ein PivotChart, in der ich Daten für das aktuelle Jahr aufzeige. Um die Daten vom aktuellem Jahr in ein Vergleich zu setzen, zeige ich ebenfalls die...
  3. Zellen verbinden bei bestimmtem Wert aus Dropdown-Liste

    in Microsoft Excel Hilfe
    Zellen verbinden bei bestimmtem Wert aus Dropdown-Liste: Hey, Habe folgendes Problem mit meinem Prüfplan: Habe in Spalte E eine Dropdownliste erstellt (je nachdem wie häufig geprüft werden muss). Würde die Tabelle nun gerne so formatieren, dass wenn...
  4. Animation in einer Excel Tabelle in PP

    in Microsoft PowerPoint Hilfe
    Animation in einer Excel Tabelle in PP: Hallo ich möchte Werte in einer Excel-Tabelle zu unterschiedlichen Zeiten in meiner Präsentation einblenden ( über Animation). Wie kann ich verschiedene -nicht zusammen stehende- Werte in der...
  5. Excel VBA - IsText

    in Microsoft Excel Hilfe
    Excel VBA - IsText: Guten Tag zusammen, Ich hätte eine Frage zu Excel VBA Wie schreibe ich es am besten wenn ich folgendes möchte: Wenn in der Zelle A1 ein Text ist dann soll in Zelle B1 ein "x" gemacht werden....
  6. bestimmte Bedingung in Excel Tabelle erstellen

    in Microsoft Excel Hilfe
    bestimmte Bedingung in Excel Tabelle erstellen: Ich möchte in Excel die folgende Bedingung eingeben: Wenn Inhalt der Zelle x = "F1S2" ist, dann soll in der Zelle y z.B. der Wert "5" erscheinen und die Hintergrundfarbe in dieser Zelle y...
  7. Fehler in =WENN Formel

    in Microsoft Excel Hilfe
    Fehler in =WENN Formel: Hallo Ich habe Excel 2016 und will die Kürzel in einer Spalte in einer zweiten mit Namen anzeigen lassen mit der =Wenn Formel. Ich habe Kürzel wie L2 oder LM etc. Ich geben die Formel wie...
  8. Excel VBA Exit aus der Schleife verhindern

    in Microsoft Excel Hilfe
    Excel VBA Exit aus der Schleife verhindern: Hallo, ich denke, ich habe ein tatsächlich einfaches Problem. Komme aber nicht auf die Lösung. In dieser Schleife x bis 507 wird eine Funktion aufgerufen, die in einer anderen Liste einen Namen...
  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