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
Piet
24.04.2026 19:34:39
AW: @Piet
Hallo Hans-Georg

bitte probiere es als letzen Versuch von meiner Seite mal mit diesem Code.
Sollte es funktionieren bitte nicht laut fragen warum? - Ich weiss es nicht!

Reine Erfahrung aus 25 Jahre Excel - manchmal akzeptiert Excel den Code wenn man über Variale geht!
Technisch erklären warum es dann funktioniert kann ich leider nicht. Nur Erfahrung durch viele Versuche.

mfg Piet

Private Sub CommandButton3_Click()

Dim strFileName As String, Jahr As Variant, Datei As String

'Sheets("Rechnung").PrintOut Copies:=2, Collate:=True, IgnorePrintAreas:=False
With Worksheets("Ankauf-Verkauf")
Jahr = CStr(.Range("HU3"))
Datei = .Range("X3").Value
strFileName = "C:\MGD Recycling\Rechnungen\Ankauf-Verkauf\" & Jahr & "\" & Datei & ".pdf"
Sheets("Rechnung").ExportAsFixedFormat Type:=xlTypePDF, Filename:=strFileName, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End With
End Sub
Als Antwort auf diesen Beitrag
Hans-Georg
24.04.2026 13:26:57
@Piet
Sorry für die lange Pause, ich musste gestern meine Frau noch ins Krankenhaus bringen......

In diesem Post habe ich mich wohl falsch ausgedrückt....
Ich meinte, dass diese Ordner und der Jahresordner (in diesem Fall natürlich 2026) vorhanden sind.
Das Makro soll nach Möglichkeit den entsprechenden Jahresordner als Speicherort übernehmen. Heißt, alles aus diesem Jahr in 2026, im nächsten Jahr in 2027 usw.

Dazu holt sich das Makro aus der Zelle HU3 das entsprechende Jahr (Formel der Zelle =HEUTE() Format in der Zelle "JJJJ"
In der Zelle X3 befindet sich der Speichername unter der die Datei als PDF gespeichert werden soll

C:\MGD Recycling\Rechnungen\Ankauf-Verkauf\2026\DATEINAME.PDF



Warum wird mir immer wieder diese Zeile markiert angezeigt. Mit VBA habe ich es ja noch nicht ganz so aber wird hier nicht nur beschrieben welches Tabellenblatt (Rechnung) in welchem Format (PDF) der Speichername, die Qualität der PDF und die Seitenränder / nach dem druck öffnen gespeichert werden sollen ?

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

Den Speicherpfad habe ich schon mehrfach untersucht und KEINEN FEHLER gefunden !


Ich füge hier nochmal das ORIGINAL Makro ein welches ohne Probleme einwandfrei funktioniert

Private Sub CommandButton3_Click() (zufällig die selbe Buttonnummer)
'
Sheets("Rechnung").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=2, Collate:=True, _
IgnorePrintAreas:=False
Sheets("Recycling").Select
Range("D11").Select

Dim strFileName As String
strFileName = "C:\MGD Recycling\Rechnungen\Recycling\" & Range("HT3"). (Datum)Text & "\" & Range("W3")(Speichername).Value & ".pdf"

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


Die Kopie ist das hier:

Private Sub CommandButton3_Click()
'
Sheets("Rechnung").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=2, Collate:=True, _
IgnorePrintAreas:=False
Sheets("Ankauf-Verkauf").Select (hier ein anderes Tabellenblatt)
Range("S11").Select (hier eine andere Zelle)

Dim strFileName As String
strFileName = "C:\MGD Recycling\Rechnungen\Ankauf-Verkauf\(hier ein anderer Ordner)" & Range("HU3"). (hier eine andere Zelle)(Datum)Text & "\" & Range("X3")(hier eine andere Zelle).Value & ".pdf"

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

Diese Sachen habe ich geändert, sonst nichts !

Mir würde ja schon reichen, wenn das Makro korrekt als PDF gespeichert wird, dann würde ich einen PRINT Button selber erstellen.

Vielen Dank für deine / 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.