Tabellenblatt als PDF speichern, der letzte Versuch
04.05.2026 15:14:39
Hans-Georg
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
Anzeige