Direkt zum Inhalt

Tipps und Tutorials für Excel teilen

Wie verwende ich die Befehlsschaltfläche, um ein aktives Arbeitsblatt als PDF-Datei in Excel zu speichern?

Während der Arbeit in Microsoft Excel kann das Problem auftreten, dass das aktive Arbeitsblatt als PDF-Datei gespeichert wird. In diesem Artikel erfahren Sie, wie Sie ein aktives Arbeitsblatt als PDF-Datei mit VBA-Code über eine Befehlsschaltfläche speichern. Wenn Sie auch einen Bereich oder jedes Arbeitsblatt in einer aktiven Arbeitsmappe als einzelne PDF-Datei speichern möchten, kann Ihnen dieser Artikel ebenfalls helfen.

Verwenden Sie die Befehlsschaltfläche, um das aktive Arbeitsblatt als PDF-Datei mit VBA-Code zu speichern
Speichern Sie mit Kutools for Excel ganz einfach aktive oder jedes Arbeitsblatt als einzelne PDF-Datei


Verwenden Sie die Befehlsschaltfläche, um das aktive Arbeitsblatt als PDF-Datei mit VBA-Code zu speichern

Sie können den folgenden VBA-Code ausführen, um ein aktives Arbeitsblatt als PDF-Datei zu speichern, indem Sie auf eine Befehlsschaltfläche klicken. Bitte gehen Sie wie folgt vor.

1. Zunächst müssen Sie einen Ordner mit dem Namen PDF erstellen, um Ihre neue konvertierte PDF-Datei zu speichern. Hier erstelle ich diesen Ordner auf meiner lokalen CD (C :).

2. Bitte fügen Sie eine Befehlsschaltfläche ein, indem Sie auf klicken Entwickler:in / Unternehmen > Insert > Befehlsschaltfläche (ActiveX Control). Siehe Screenshot:

2. Zeichnen Sie dann eine Befehlsschaltfläche in das Arbeitsblatt, das Sie zum Hinzufügen neuer Zeilen benötigen. Klicken Sie mit der rechten Maustaste auf die Befehlsschaltfläche und klicken Sie auf Ferienhäuser aus dem Kontextmenü.

3. In dem Ferienhäuser Geben Sie im Dialogfeld den angezeigten Text der Befehlsschaltfläche in das Feld ein Bildunterschrift Kasten unter dem Kategorisiert Klicken Sie auf die Registerkarte, und schließen Sie das Dialogfeld.

Sie können sehen, dass der angezeigte Text der Befehlsschaltfläche wie im folgenden Screenshot geändert wird.

4. Klicken Sie erneut mit der rechten Maustaste auf die Befehlsschaltfläche, und klicken Sie dann auf Code anzeigen aus dem Kontextmenü.

5. In der Öffnung Microsoft Visual Basic für Applikationen Bitte ersetzen Sie den Originalcode im Codefenster durch den folgenden VBA-Code.

VBA-Code: Befehlsschaltfläche zum Speichern des aktiven Arbeitsblatts als PDF

Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:="C:\PDF\Export.pdf", _
            OpenAfterPublish:=False
    Application.ScreenUpdating = True
End Sub

Note: Im Code ist CommandButton1 der Name der Befehlsschaltfläche, mit der Sie das aktive Blatt als PDF-Datei speichern. "C: \ PDF \ Export.pdf" ist der Pfad und Name Ihrer gespeicherten PDF-Datei.

6. Drücken Sie die Taste Andere + Q Tasten gleichzeitig zum Schließen der Microsoft Visual Basic für Applikationen Fenster. Dann schalten Sie die aus Entwurfsmodus unter dem Entwickler:in / Unternehmen Tab.

Klicken Sie nun auf die Befehlsschaltfläche. Das aktive Arbeitsblatt wird als PDF-Datei mit dem Namen Export gespeichert und befindet sich am angegebenen Speicherort.


Speichern Sie jedes Arbeitsblatt als einzelne PDF-Datei der aktiven Arbeitsmappe mit Kutools for Excel

Hier empfehlen die Arbeitsmappe teilen Nutzen von Kutools for Excel um das aktive Arbeitsblatt einfach als PDF-Datei zu speichern. Außerdem können Sie mit diesem Dienstprogramm jedes Arbeitsblatt in der aktuellen Arbeitsmappe als einzelne PDF-Datei speichern.

Vor der Bewerbung Kutools for Excel, Bitte Laden Sie es zuerst herunter und installieren Sie es.

1. In der Arbeitsmappe müssen Sie jedes Arbeitsblatt als einzelne PDF-Datei speichern und dann auf klicken Kutoolen Plus > Workbook > Arbeitsmappe teilen. Siehe Screenshot:

2. In dem Arbeitsmappe teilen Dialogfeld, bitte wie folgt konfigurieren:

2.1) Überprüfen Sie nur den aktiven Blattnamen in der Name des Arbeitsblatts Box;
2.2) Wählen Sie PDF (* .pdf) Option von der Speichern als Typ Dropdown-Liste;
2.3) Klicken Sie auf Split Knopf, dann a Ordner auswählen Das Dialogfeld wird geöffnet. Geben Sie einen Ordner zum Speichern der PDF-Datei an.

Das ausgewählte Arbeitsblatt wird dann sofort als PDF-Datei gespeichert.

Notizen:

1. Sie können mehrere Arbeitsblattnamen im Feld Arbeitsblattname aktivieren, um sie gleichzeitig als einzelne PDF-Datei zu speichern.
2. Außer dem Speichern von Arbeitsblättern als PDF-Dateien können Sie Arbeitsblätter als txt speichern. oder csv. Datei nach Bedarf.

  Wenn Sie eine kostenlose Testversion (30 Tage) dieses Dienstprogramms wünschen, Bitte klicken Sie, um es herunterzuladenund wenden Sie dann die Operation gemäß den obigen Schritten an.


Demo: Speichern Sie die Auswahl oder jedes Arbeitsblatt als PDF mit Kutools for Excel


In Verbindung stehende Artikel:

Beste Office-Produktivitätstools

🤖 Kutools KI-Assistent: Revolutionieren Sie die Datenanalyse basierend auf: Intelligente Ausführung   |  Code generieren  |  Erstellen Sie benutzerdefinierte Formeln  |  Analysieren Sie Daten und erstellen Sie Diagramme  |  Rufen Sie Kutools-Funktionen auf...
Beliebte Funktionen: Suchen, markieren oder identifizieren Sie Duplikate   |  Leere Zeilen löschen   |  Kombinieren Sie Spalten oder Zellen, ohne Daten zu verlieren   |   Runde ohne Formel ...
Super-Lookup: VLookup mit mehreren Kriterien    VLookup mit mehreren Werten  |   VLookup über mehrere Blätter hinweg   |   Unscharfe Suche ....
Erweiterte Dropdown-Liste: Erstellen Sie schnell eine Dropdown-Liste   |  Abhängige Dropdown-Liste   |  Mehrfachauswahl Dropdown-Liste ....
Spaltenmanager: Fügen Sie eine bestimmte Anzahl von Spalten hinzu  |  Spalten verschieben  |  Schalten Sie den Sichtbarkeitsstatus ausgeblendeter Spalten um  |  Vergleichen Sie Bereiche und Spalten ...
Ausgewählte Funktionen: Rasterfokus   |  Designansicht   |   Große Formelleiste    Arbeitsmappen- und Blattmanager   |  Ressourcen (Autotext)   |  Datumsauswahl   |  Arbeitsblätter kombinieren   |  Zellen verschlüsseln/entschlüsseln    Senden Sie E-Mails nach Liste   |  Superfilter   |   Spezialfilter (Filter fett/kursiv/durchgestrichen...) ...
Top 15 Toolsets12 Text Tools (Text hinzufügen, Zeichen entfernen, ...)   |   50+ Chart Typen (Gantt-Diagramm, ...)   |   40+ Praktisch Formeln (Berechnen Sie das Alter basierend auf dem Geburtstag, ...)   |   19 Einfügen Tools (QR-Code einfügen, Bild aus Pfad einfügen, ...)   |   12 Umwandlung (Conversion) Tools (Zahlen zu Wörtern, Currency Conversion, ...)   |   7 Zusammenführen & Teilen Tools (Erweiterte Zeilen kombinieren, Zellen teilen, ...)   |   ... und mehr

Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen.  Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...

Beschreibung


Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich

  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!
Comments (33)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Ich nutze diese Zeilen und das funktioniert auch gut, mein Problem ist nur, sollte diese Datei bereits vorhanden sein, WIRD diese einfach überschrieben!
Wie kann ich das vermeiden, es sollte eine Meldung kommen, Datei existiert bereits und es soll beendet werden?


Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:="X:\firmen\Buchhaltung\Rechnungs-Kopie_Ackermann Service GmbH\2022\RK-Abrechnung\" & ActiveSheet.Range("G1") & ".pdf", _
OpenAfterPublish:=True
Application.ScreenUpdating = True
End Sub
This comment was minimized by the moderator on the site
Hi Sascha,
The following VBA code can help. Please give it a try.

Private Sub CommandButton1_Click()
'Updated by Extendoffice 20221230
    Dim xPDFName As String
    Dim xPDFPath As String
    Dim xObjFS As Object
    Dim xNum As Integer
    Dim xStr As String
    
    xPDFName = "Export" 'The file name
    xPDFPath = "D:\work\Jan\test\" 'The file path
    Application.ScreenUpdating = True
    On Error Resume Next
    Set xObjFS = CreateObject("Scripting.FileSystemObject")
    xStr = xPDFPath & xPDFName & ".pdf"
    xNum = 1
    If xObjFS.FileExists(xStr) Then
    xResponse = MsgBox("The file already exists, do you want to overwrite it?", vbYesNo, "www.extendoffice.com", "", 0)
       If xResponse <> vbYes Then
       Exit Sub
      End If
    End If
    Application.ScreenUpdating = False
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            FileName:=xStr, _
            OpenAfterPublish:=False
    Application.ScreenUpdating = True
End Sub
This comment was minimized by the moderator on the site
Ich nutze diese Zeilen und das funktioniert auch gut, mein Problem ist nur, sollte diese Datei bereits vorhanden sein, wird diese einfach überschrieben!
Wie kann ich das vermeiden, es sollte eine Meldung kommen, Datei existiert bereits und es soll beendet werden?
This comment was minimized by the moderator on the site
When I run the below it creates a local version of the PDF automatically - how do I stop this from automatically saving?

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
OpenAfterPublish:=True
Application.ScreenUpdating = True
End Sub
This comment was minimized by the moderator on the site
Hi James,
Do you want to pop up a window to select a folder to save the PDF file manually?
This comment was minimized by the moderator on the site
Hi Crystal, ideally yes so I can then choose where to save the PDF.
This comment was minimized by the moderator on the site
H James,

The following VBA code can help you solve the problem.
Note: You can't handle both the destination and the file name at the same time. After adding the following VBA code, when you click the button, a dialog box will pop up for you to select a destination folder. After selecting a destination folder, a box will pop up for you to give a name to the PDF file.

Private Sub CommandButton1_Click()
'Updated by Extendoffice 20221223
    Dim xDlg As FileDialog
    Dim xFolder As Variant
    Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
    Dim xStrName As String
    If xDlg.Show <> -1 Then Exit Sub
    
    xFolder = xDlg.SelectedItems(1)
    
    xStart = InputBox("file name", "KuTools for Excel", ActiveSheet.Name & ".pdf")

    Application.ScreenUpdating = False

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=xFolder & "\" & xStart, _
            OpenAfterPublish:=False
    Application.ScreenUpdating = True

End Sub
This comment was minimized by the moderator on the site
Whenever I run this it saves a PDF to my local drive where the excel sheets saved, how do I stop this from auto saving?

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
OpenAfterPublish:=True
Application.ScreenUpdating = True
End Sub
This comment was minimized by the moderator on the site
Hi Team,

Just wondering if anyone could help with changing the destination of the created file to any user's desktop? My compnay doesn't allow access to C: so the script doesn't work.

MANY MANY MANY thanks!
This comment was minimized by the moderator on the site
Hi Ben Stoddart,
You just need to open any folder on your desktop and copy the folder path in the address box, then replace the folder path in the VBA code with the path you copied.
Here is the new Filename line (please replace the Username with your own username), Export.pdf is the name and the file extension of the PDF file:
Filename:="C:\Users\Username\Desktop\PDF\Export.pdf", _
This comment was minimized by the moderator on the site
Goededag

is het mogelijk om een filmpje of een voorbeeld excelblad te maken voor de Command-Knop Om Een ​​Actief Werkblad Op Te Slaan Als PDF-Bestand Met VBA-Code.
kom er niet helemaal uit met de codes.
alvast bedankt
This comment was minimized by the moderator on the site
Hi max,
Sorry I don't understand what you mean. You may need to attach a screenshot of what you are trying to do. Sorry for the inconvenience.
This comment was minimized by the moderator on the site
Что это за кнопка - "другой" + Q клавиши одновременно" ? Не поняла что нажимать, подскажите, пожалуйста
This comment was minimized by the moderator on the site
Hi Диана,
It is the "Alt" key on your keyboard. Microsoft Excel allows users to press the "Alt" + "Q" keys to close the Microsoft Visual Basic for Applications window and return to the worksheet.
This comment was minimized by the moderator on the site
Hallo,

ich nutze diese Zeilen und möchte das eine Zelle als Dateiname verwenden wird!
Kann mir jemand ein Tipp geben?


Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:="c:/" & G3 & ".pdf", _
OpenAfterPublish:=False
Application.ScreenUpdating = True
End Sub
This comment was minimized by the moderator on the site
Hi Sascha,
The following code can help. Before applying the code, please change 'C:\Users\Win10x64Test\Documents\PDF' in the fourth line to you own destination folder path.
Private Sub CommandButton1_Click()
'Updated by Extendoffice 20220929
    Application.ScreenUpdating = False
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:="C:\Users\Win10x64Test\Documents\PDF\" & Range("G3").Value, _
            OpenAfterPublish:=False
    Application.ScreenUpdating = True
End Sub
This comment was minimized by the moderator on the site
Hallo,

kann jemand mir helfen?

Ich nutze diese Zeilen und möchte jedoch, das aus dem Blatt ein Zellenwert als Dateiname gespeichert wird:

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:="C:\PDF\Export.pdf", _
OpenAfterPublish:=False
Application.ScreenUpdating = True
End Sub

Danke
This comment was minimized by the moderator on the site
ive followed the code, this is what i have:

Private Sub CommandButton2_Click()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=Range("P2"), _
OpenAfterPublish:=True
Application.ScreenUpdating = True
End Sub

i need the file to save to the location that the orignal file is located. also need a copy of the excel file to save aswell with the same name.
This comment was minimized by the moderator on the site
Hi Matt Bentley,
The code works perfectly. Thank you for sharing.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations