Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Nur eingeblendete Arbeitsblätter als PDF erstellen

Nur eingeblendete Arbeitsblätter als PDF erstellen
20.03.2008 10:46:00
Chris
Bis jetzt hatte Alles geklappt, aber was sehr einfach erscheinte stellt sich jetzt doch als Problem da.
Wir benutzen eine Arbeitsmappe um unsere Messdaten zu erfassen.
Die Benutzer blenden über eine Userform die Arbeitsblätter aus die nicht benutzt werden.
Alle eingeblendete Arbeitsblätter sollen gedruckt oder als PDF Datei gespeichert werden.
Könnt Ihr mir da bitte helfen?

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur eingeblendete Arbeitsblätter als PDF erstellen
20.03.2008 10:57:00
Andi
Hi ,(<-- Anrede, macht den Beitrag freundlicher...)
nachdem Du Deinen Code nicht gepostet hast, mal ein allgemeiner Ansatz:

Sub t()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Visible = True Then
'hier wird das pdf erstellt
End If
Next ws
End Sub


Schönen Gruß,
Andi

Anzeige
AW: Nur eingeblendete Arbeitsblätter als PDF erstellen
20.03.2008 11:17:32
Chris
Hallo Andi,
Erstmal schönen Dank für deine Antwort.
Wenn ich deinen Vorschlag als Macro laufen lasse wird immer nur das aktive Arbeitsblatt selektiert.
Es sollten aber alle eingeblendete Arbeitsblätter gleichzeitig selektiert werden um dann als PDF abgespeichert zu werden.
Den Code um das PDF zu erstellen habe ich bereits aus dem Archiv bekommen.

Sub PdfErstellen()
MsgBox "The name of the active printer is " & _
Application.ActivePrinter
Application.ActivePrinter = "FreePDF XP auf Ne01:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="FreePDF XP auf Ne01:", _
Collate:=True
Application.Wait (Now + TimeValue("0:00:05"))
End Sub


Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Nur eingeblendete Arbeitsblätter als PDF erstellen


Schritt-für-Schritt-Anleitung

Um alle eingeblendeten Arbeitsblätter als PDF zu speichern, kannst Du den folgenden VBA-Code verwenden. Dieser Code erstellt ein PDF-Dokument, das nur die sichtbaren Blätter enthält:

Sub AlleEingeblendeteBlätterAlsPDF()
    Dim ws As Worksheet
    Dim wsArray() As String
    Dim i As Integer

    ' Zähle die sichtbaren Blätter
    i = 0
    For Each ws In ThisWorkbook.Worksheets
        If ws.Visible = xlSheetVisible Then
            ReDim Preserve wsArray(i)
            wsArray(i) = ws.Name
            i = i + 1
        End If
    Next ws

    ' PDF erstellen
    If i > 0 Then
        ThisWorkbook.Sheets(wsArray).Select
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="Pfad\zu\deinem\PDF.pdf", Quality:=xlQualityStandard
        MsgBox "PDF wurde erstellt!"
    Else
        MsgBox "Keine sichtbaren Blätter gefunden!"
    End If
End Sub

Dieser Code selektiert alle sichtbaren Arbeitsblätter und speichert sie als PDF. Achte darauf, den Pfad zu Deiner PDF-Datei anzupassen.


Häufige Fehler und Lösungen

  • Fehler: PDF wird nur von einem Blatt erstellt.

    • Lösung: Stelle sicher, dass Du die Sichtbarkeit der Blätter korrekt überprüfst und dass der Code alle sichtbaren Blätter selektiert.
  • Fehler: Der Speicherort für die PDF-Datei ist ungültig.

    • Lösung: Überprüfe den angegebenen Pfad zur PDF-Datei im Code. Stelle sicher, dass der Ordner existiert.

Alternative Methoden

Falls Du keine VBA-Makros verwenden möchtest, kannst Du auch die Funktion „Drucken“ in Excel nutzen:

  1. Blende die gewünschten Blätter ein.
  2. Gehe zu „Datei“ > „Drucken“.
  3. Wähle „Microsoft Print to PDF“ als Drucker aus.
  4. Klicke auf „Drucken“ und speichere die Datei.

Diese Methode ist einfach und benötigt keine Programmierkenntnisse.


Praktische Beispiele

Wenn Du beispielsweise eine Excel-Tabelle mit mehreren Blättern hast, von denen nur einige sichtbar sind, kannst Du den oben genannten VBA-Code verwenden, um alle sichtbaren Blätter als PDF zu speichern. Du kannst auch die Funktion „Excel Arbeitsmappe als PDF speichern“ nutzen, um schnell eine PDF zu erstellen, die alle Blätter umfasst.


Tipps für Profis

  • PDF in eine bestimmte Größe anpassen: Mit ActiveSheet.ExportAsFixedFormat kannst Du die Qualität und das Layout der PDF anpassen. Experimentiere mit den Parametern, um die beste Qualität zu erreichen.

  • Einzelne Seiten speichern: Wenn Du nur eine bestimmte Seite als PDF speichern möchtest, kannst Du ActiveSheet.Range("A1:D20").ExportAsFixedFormat verwenden, um einen bestimmten Bereich zu exportieren.


FAQ: Häufige Fragen

1. Wie kann ich alle Arbeitsblätter in einer Excel-Datei als PDF speichern? Du kannst den Code anpassen, indem Du ThisWorkbook.Sheets anstelle von ThisWorkbook.Sheets(wsArray) verwendest.

2. Kann ich die PDF-Datei direkt per E-Mail versenden? Ja, Du kannst den VBA-Code so erweitern, dass er die PDF-Datei automatisch an eine E-Mail anhängt, indem Du die Outlook-Objektbibliothek verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige