HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Entdecke rund 2 Millionen Excel-Lösungen im
Forumsarchiv
Forumbeitrag
Excel-Version des Fragestellers:
2019
Erfahrungslevel des Fragestellers:
Kaum Excel/VBA-Kenntnisse
MCO
04.05.2026 14:56:25
AW: Tabellenblatt als PDF speichern, der letzte Versuch
Mahlzeit, Hans-Georg!

Die 2 Blätter konnte ich auch noch selbst anlegen.

Dein Makro 1 hab ich etwas umgebaut, überflüssiges raus und ne Dateiprüfung mit reingenommen. Ich vermute nämlich (und das kann uns auch eine Beispieldatei nicht beweisen), dass dein Pfad nicht in Ordnung ist und damit die pdf nicht erstellt werden kann.

Probier mal dieses Makro:


Private Sub CommandButton3_Click()
Dim Rchn_sht As Worksheet

'Sheets("Altmetalle").Select 'überflüssig
'Range("F16").Select 'überflüssig

Dim strFileName As String
Pfad = "C:\MGD Recycling\Rechnungen\Ankauf Schrott\)" & Format(Date, "yyyy") ' Jahreszahl direkt vom Tagesdatum abgeleitet

If Dir(Pfad, vbDirectory) = "" Then 'erst prüfen, dann drucken + pdf
MsgBox Pfad & " existiert nicht, bitte prüfen!", vbCritical + vbOKOnly
Exit Sub
End If

Set Rchn_sht = Sheets("Rechnung")
Rchn_sht.PrintOut Copies:=2, Collate:=True, IgnorePrintAreas:=False

Datei = Sheets("Altmetalle").Range("DU93").Value & ".pdf"
strFileName = Pfad & "\" & Datei
Rchn_sht.ExportAsFixedFormat xlTypePDF, strFileName, , , , , , 0

End Sub


Gruß, MCO
Als Antwort auf diesen Beitrag
Hans-Georg
04.05.2026 13:14:39
Tabellenblatt als PDF speichern, der letzte Versuch
Hallo Excel Freunde,

Ich habe mit eurer Hilfe zwei Makros, zum Versuch, in meiner Tabelle erstell, leider funktionieren diese nicht ganz so wie ich mir das wünsche.

Was ich möchte:
Das Makro soll das Tabellenblatt „Rechnung“ zweimal ausdrucken und das Tabellenblatt „Rechnung“ unter dem Ordnernamen aus Zelle „LM126“ und dem Speichernamen aus Zelle „DU93“ als PDF in folgendes Verzeichnis speichern.

C:\MGD Recycling\Rechnungen\Ankauf Schrott\2026

Wobei der Ordner „2026“ variabel sein sollte – dieses Jahr = „2026“, nächstes Jahr = „2027“ usw. (alle Ordner, bis 2035 sind vorhanden!)


MAKRO 1 sieht so aus:

Private Sub CommandButton3_Click()
'
Sheets("Rechnung").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=2, Collate:=True, _
IgnorePrintAreas:=False
Sheets("Altmetalle").Select
Range("F16").Select

Dim strFileName As String
strFileName = "C:\MGD Recycling\Rechnungen\Ankauf Schrott\)" & Range("LM126").Text & "\" & Range("DU93").Value & ".pdf"

ThisWorkbook.Sheets("Rechnung").ExportAsFixedFormat Type:=xlTypePDF, Filename:=strFileName, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

End Sub

Die Fehlermeldung:
Das Makro läuft soweit durch und druckt die Datei zweimal aus. Dann kommt die Fehlermeldung „1004 Laufzeitfehler“. Es wird IMMER die letzte Zeile "ThisWorkbook.Sheets"des Makros als „falsch“ markiert!



Danach der zweite Versuch



MAKRO 2 sieht so aus:

Private Sub CommandButton3_Click()

Dim Datei As Variant, Pfad As String, Vorgabe As String, TB As Worksheet
Set TB = Sheets("Rechnung")
Pfad = "C:\MGD Recycling\Rechnungen\Ankauf Schrott\"
Vorgabe = "Name_Anpassen_" & Format(Date, "DD-MM-YYYY")

Datei = Application.GetSaveAsFilename( _
InitialFileName:=Pfad & Vorgabe & ".pdf", _
FileFilter:="PDF Dateien (*.pdf), *.pdf")

If Datei <> False Then
TB.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=Datei
End If

End Sub


Der Fehler:
Eigentlich kein Fehler, sondern eher ein Problem mit dem Speichernamen.
Das Makro öffnet das Tabellenblatt „Rechnung“ und druckt es danach zweimal aus. Danach öffnet sich die Eingabeaufforderung zum Abspeichern als PDF. Im Speichernamen wird dann „Name_Anpassen_04.05.2026“ angezeigt.
Da der Speichername sehr lang sein kann, wäre ein automatischer Eintrag des Speichernamen sicher von Vorteil. Das man hier dann noch den Ordner zum speichern auswählen muss, ist das geringste Übel.



Wo steht was in der Tabelle?

In Zelle (LM126) steht das heutige Datum (Format „JJJJ“)
Zur Benutzung des Speicherortes (Ordner)

In Zelle (DU93) steht der Speichername für die PDF
3552 - 46146 - 1 - Firma - MKV Rostocker Maschinenbau GmbH – Werftstrasse 26 – 18059 Rostock

Der Speichername wird mit „Verketten“ aus verschiedenen Zellen zusammengesetzt und in Zelle (DU93) angezeigt.

Speichername setzt sich zusammen aus:
Kundennummer – heutiges Datum (Formatiert als Zahl) – Tagesnummer der Rechnung - Anrede – Kundenname und Adresse

Ich hoffe, dass euch vom vielen lesen nicht schwindelig geworden ist, aber ich denke mal, eine ordentliche, ausführliche Erklärung ist immer hilfreich.
Vielen Dank für eure Mühe

Hans-Georg
Folgenachrichten
Antwort auf Beitrag erstellen
Bitte einen Anwendernamen ohne @ eingeben.
Bitte das Passwort eingeben.
Bitte eine gültige E-Mail-Adresse eingeben.
Bitte einen Betreff eingeben.
Weitere Optionen
Aktivieren, wenn die Frage/der Beitrag noch nicht beantwortet wurde und unter Listen > Offene Threads erscheinen soll.
Beispieldatei hochladen

Bitte einen Nachrichtentext eingeben.