Clever-Excel-Forum

Normale Version: Datei an 3 Orten speichern, zweimal .xls und einmal als .pdf
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Guten Morgen zusammen,

ich habe eine Tabelle, die ich schon an 2 Speicherorten ablege. Dazu nutze ich folgenden Code:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
On Error Resume Next
Application.DisplayAlerts = False
Const LW = "c:\"
Const ordner = "c:\Eigene Dateien\Dokumente"
ChDrive LW
ChDir ordner
ActiveWorkbook.SaveCopyAs Filename:=ActiveWorkbook.Name
Application.DisplayAlerts = True
End Sub

Nun möchte ich gerne noch einen dritten Speicherort einfügen und an diesem die Tabelle als .pdf ablegen.

Ich hoffe das ist auch mit dem Code möglich.

Vielen Dank für eure Hilfe.

Liebe Grüße Robbie1985
Hallo Robbie,

wie du eine Datei als pdf exportierst, kannst du problemlos mit dem Makrorekorder aufzeichnen.
Hallo,

so etwas komprimierter:


Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
On Error Resume Next
Application.DisplayAlerts = False
Const ordner = "c:\Eigene Dateien\Dokumente\"
ActiveWorkbook.SaveCopyAs Filename:=ordner & ActiveWorkbook.Name & ".xlsm"
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ordner & ActiveWorkbook.Name & ".pdf", Quality:=xlQualityStandard _
, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=False
Application.DisplayAlerts = True
End Sub
Danke für die Antworten,

@ EbyAS - der Code geht leider nicht, es wird weder eine .xlsm noch eine .pdf Datei erzeugt. wenn ich den Code aus meinem ersten Post eingebe, wird eine Datei erzeugt.

Mfg
Hat doch geklappt, vielen Dank für die Hilfe :)
Hallo,

ich hab den folgenden Code jetzt als Modul in meiner Excel Tabelle eingetragen. Es legt auch eine .pdf Datei ab, aber wenn ich in der Tabelle was ändere, dann wird die Änderung nicht als .pdf gespeichert.

VBA Code:

Sub PDFDatei()

    'Tabelle als PDF speichern
    Sheets("Arbeitsplanung Druck").ExportAsFixedFormat xlTypePDF, Filename:="M:\Datenaustausch\AM Döbeln\Arbeitsplanung.pdf", _
    from:=1, To:=1
    Sheets("Arbeitsaufträge").Range("A451:GW495").ExportAsFixedFormat xlTypePDF, Filename:="M:\Datenaustausch\AM Döbeln\Arbeitsauftrag_Spät.pdf"
    Sheets("Arbeitsaufträge").Range("A496:GW540").ExportAsFixedFormat xlTypePDF, Filename:="M:\Datenaustausch\AM Döbeln\Arbeitsauftrag_Nacht.pdf"

End Sub

Ich habe noch 2 andere Tabellen, in denen ich den gleichen Speicherort angegeben habe, funktioniert das Speichern einer Änderung auch nicht.

Ich weiß leider nicht was ich falsch mache.

Anbei noch die Tabelle.

Vielen Dank für eure Hilfe
Ich kann dein Problem nicht nachvollziehen. Sobald ich den Code ausführe, werden 3 pdf-Dateien erstellt. Bei Änderungen in den Tabellen werden die pdf überschrieben (nach erneuter Codeausführung).
Führst du den Code auch aus? Von selbst passiert da gar nix, du musst schon aktiv den Code aufrufen.

Es ist übrigens nicht besonders hilfreich, wenn du Hilfe im Forum suchst und den Blattschutz inkl. Kennwort in der Datei lässt.
Tut mir leid, ich hab vergessen das Passwort mit anzugeben. Es lautet: Test100%

Wie führe ich denn den Code aus? Geht das über eine Tastenkombination oder kann ich das in den Code mit einbringen, dass das automatisch geht?
Wie führst du denn den Code beim ersten Mal aus? Du hast geschrieben
Zitat:Es legt auch eine .pdf Datei ab, aber wenn ich in der Tabelle was ändere, dann wird die Änderung nicht als .pdf gespeichert.
Das impliziert doch, dass du den Code schon einmal ausgeführt hast. Und genau gleich führst du ihn wieder aus.

Zitat:kann ich das in den Code mit einbringen, dass das automatisch geht?
Das geht natürlich schon, aber ich glaube nicht, dass du das möchtest. Denn das würde bedeuten, dass der Code bei jeder Änderung in deiner Tabelle ausgeführt würde. Eine aktive Ausführung deinerseits ist da eindeutig zu bevorzugen. Da hast du mehrere Möglichkeiten:
  1. Reiter Ansicht - Makros --> Makro PDFDatei markieren und auf Ausführen klicken
  2. Einen Button in deiner Exceldatei anlegen, der mit dem Makro verknüpft wird
  3. Eine Tastenkombination zuweisen, das geht wieder unter Reiter Ansicht - Makros - Optionen --> Dort kannst du in das kleine Feld ein Zeichen deiner Wahl eintragen, in Kombination mit Strg ist das dann deine Tastenkombination
  4. In der Schnellstartleiste einen Button anlegen. Wie das geht, erfährst du hier: https://support.office.com/de-de/article...7f84eb5d2c
Guten Abend,

ich habe meine Tabelle mit einem Makro versehen, wie ihr das beschrieben habt.

Folgendes Makro nutze ich:

Sub PDFDatei()

    'Tabelle als PDF speichern
    Sheets("Arbeitsplanung Druck").ExportAsFixedFormat xlTypePDF, Filename:="C:\Users\Laptop\Documents\Arbeitsplanung.pdf", _
    from:=1, To:=1
    Sheets("Arbeitsaufträge").Range("A1:F5").ExportAsFixedFormat xlTypePDF, Filename:="C:\Users\Laptop\Documents\Arbeitsauftrag_Spät.pdf"
    Sheets("Arbeitsaufträge").Range("A10:F15").ExportAsFixedFormat xlTypePDF, Filename:="C:\Users\Laptop\Documents\Arbeitsauftrag_Nacht.pdf"

End Sub

Das klappt auch alles wunderbar. Um das Makro zu starten habe ich MisterBurns rat befolgt und in der Schnellstartleiste einen Button angelegt, mit dem ich das Makro vor dem Beenden starten kann. Wie gesagt, das klappt prima, die Dateien werden genau so gespeichert, wie ich das möchte.

Nun zu meinem Problem:

Ich möchte gerne eine zweite Datei erstellen und das Makro nutzen. Dazu folgender Code:

Sub PDFDatei()

    'Tabelle als PDF speichern
    Sheets("Arbeitsplanung WE").ExportAsFixedFormat xlTypePDF, Filename:="C:\Users\Laptop\Documents\Arbeitsplanung WE.pdf", _
    from:=1, To:=1
    
End Sub

Das Problem ist, wenn ich in der zweiten Datei auf den Makro Button klicke, dann geht immer die erste Datei mit auf und ich kann das Makro nicht ausführen. Es kommt immer "Laufzeitfehler '9': Index außerhalb des gültigen Bereiches".

Wie kann ich denn das Problem beheben? 

Vielen Dank für eure Hilfe im Voraus.

PS: Ich möchte gerne auch noch eine dritte Datei mit dem Makro Button aktivieren.
Seiten: 1 2