Clever-Excel-Forum

Normale Version: VBA Code
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebe Excelaner/innen 

ich habe eine wöchentliche Speisentabelle erstellt und speichere diese am WE als PDF ab.
Den Code für das Erstellen der PDF-Dateien habe ich mir von SCIENZLESS abgeschaut und etwas angepasst.
Den Dateinamen der PDF ändere ich händisch im Code jede Woche.

Nun mein Anliegen:
In A2 steht die KW und in A13 das Datum vom Wochen Anfang und das würde ich gerne als Dateiname zum Abspeichern der PDF übernehmen.
Ich habe schon etliches darüber im Netz gefunden, bekomme es aber nicht so richtig in den VBA-Code integriert.
Mein VBA Wissen beschränkt sich auf den Recorder und evtll. ein wenig anpassen.
Ich kopiere mal den aktuellen Code hier ein, falls nötig kann ich auch eine abgespeckte Datei hochladen.
Nun wäre meine Bitte an die VBA Experten einmal zu schauen wo genau eine Code Ergänzung eingefügt werden muss, damit die PDF beim Abspeichern den Namen aus den o.g. Zellen übernimmt.

Vielen Dank schon mal

LG Jo

Sub PDFDatei()
   
    'Querformat einstellen
        Sheets("Speiseplan").PageSetup.Orientation = 2
       
    'Format automatisch anpassen
        Sheets("Speiseplan").PageSetup.Zoom = False
        Sheets("Speiseplan").PageSetup.FitToPagesWide = 1
        Sheets("Speiseplan").PageSetup.FitToPagesTall = 1
       
    'Tabelle als PDF speichern
        Sheets("Speiseplan").Range("A1:W55").ExportAsFixedFormat xlTypePDF, _
        Filename:="C:\Users\User\st-sc\Documents\Essenplan 2021\KW 9.pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=True

End Sub
Code:
Filename:="C:\Users\User\st-sc\Documents\Essenplan 2021\KW " & Range("A2") & ".pdf", _

Damit auch das Jahr nicht korrigiert werden muss:
Code:
Filename:="C:\Users\User\st-sc\Documents\Essenplan " & Year(Date) &"\KW & Range("A2") & ".pdf", _
Mir ist nur nicht klar, wo du das Datum aus A13 hinhaben willst.
Hallo MisterBurns,

vielen Danke für die schnelle Antwort.
Ich dachte für den Dateinamen des PDF's eben die Zellen zu nehmen wo das WA-Datum und die KW steht.

Gr. Jo
Ok, du weißt ja nun, wie es geht.
Hallo Berni,

muss nochmal nachhaken, die erste Code Zeile von Dir habe ich eingefügt und macht auch was es soll,
Allerdings ist der Dateiname der PDF einfach nur 9.
Was müsste ich noch ändern damit im Dateinamen z.B. KW 9 steht.
Die zweite Code Zeile Deines Vorschlags liefert einen Kompilierungsfehler und markiert ist ("A2").

Gr. Jo
Auch Hallo,

vermutlich hast Du die Zelle dementsprechend formatiert

Code:
Filename:="C:\Users\User\st-sc\Documents\Essenplan " & Year(Date) &"\KW & Range("A2").Text & ".pdf", _
Da war ein Anführungszeichen falsch gesetzt:
Code:
Filename:="C:\Users\User\st-sc\Documents\Essenplan " & Year(Date) &\KW " & Range("A2") & ".pdf", _

Es ist übrigens sinnvoll, wenn du deine Codeversuche immer postest, sonst artet das oft in sinnlose Raterei aus.