Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Excel mehrere Zeilen als separate PDFs speichern

Excel mehrere Zeilen als separate PDFs speichern
14.09.2017 16:27:37
Thomas
Hallo zusammen,
folgendes Problem:
Ich habe eine Excel mit 2 Tabellenblättern.
Im Tabellenblatt "Daten" stehen in der Spalte A Auftragsnummern. In den Spalten B bis I stehen der Auftragsnummer zugehörige Daten, wie z.B. Lieferantenname, Lieferantennummer, Kosten etc.
Im Tabellenblatt "Rechnung" ist ein vorgefertigtes Rechnungslayout, was mit den Informationen aus dem Blatt "Daten" gefüllt werden soll.
Das Makro soll nun Folgendes tun: Für jede Auftragsnummer im Blatt "Daten" sollen die zugehörigen Informationen in die entsprechenden Rechnungsfelder im Blatt "Rechnung" geschrieben werden. Hier soll zusätzlich für jede Aktionsnummer die Rechnung als PDF gespeichert werden.
Ich bräuchte also zunächst eine Schleife die die Spalte mit den Auftragsnummern bis zum letzten Eintrag durchläuft und für jede Auftragsnummer die Information in die Rechnung schreibt und als PDF wegspeichert.
Vielen Dank für die Hilfe!
Beste Grüße
Thomas
Kann mir hier jemand helfen?
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel mehrere Zeilen als separate PDFs speichern
15.09.2017 14:45:21
ChrisL
Hi Thomas
Mustercodes für Schleifen und PDF Export kann man übrigens auch googlen...
Überträgt nur die Auftragsnummer und den Rest holst du mit SVERWEIS
Sub t()
Dim WS As Worksheet: Set WS = Worksheets("Rechnung")
Dim lngZeile As Long
With Worksheets("Daten")
For lngZeile = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
WS.Range("A1") = .Cells(lngZeile, 1)
WS.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\Rg" & .Cells(lngZeile, 1) & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Next lngZeile
End With
End Sub
cu
Chris
Anzeige
AW: Excel mehrere Zeilen als separate PDFs speichern
15.09.2017 15:53:48
Thomas
Hallo Chris,
perfekt, vielen Dank für die schnelle Hilfe.
Viele Grüße
Thomas
AW: Excel mehrere Zeilen als separate PDFs speichern
15.09.2017 14:59:31
UweD
Hallo
so?
 Sub PDF()
    On Error GoTo Fehler
    Dim TB1, TB2, i%
    Dim LR&, EZ&, AFNu$
    Dim Pfad$, Datei$
    
    Application.ScreenUpdating = False
    
    '*** Stammdaten Anfang 
    Set TB1 = Sheets("Daten")
    Set TB2 = Sheets("Rechnung")
    EZ = 2 'ab Zeile 2 wegen Überschrift 
    
    Pfad = "C:\Temp\"
    '*** Stammdaten Ende 
    
    LR = TB1.Cells(TB1.Rows.Count, "A").End(xlUp).Row 'letzte Zeile der Spalte 
    For i = EZ To LR
        AFNu = TB1.Cells(i, 1)
        If AFNu <> "" Then
            TB2.Range("C5") = AFNu 'AF-Nummer 
            TB2.Range("C7") = TB1.Cells(i, 2) 'LI-Name 
            TB2.Range("C8") = TB1.Cells(i, 3) 'Li-Nummer 
            TB2.Range("E10") = TB1.Cells(i, 4) 'Kosten 
            
            Datei = Pfad & AFNu & ".pdf"
            
            TB2.ExportAsFixedFormat Type:=xlTypePDF, _
                Filename:=Datei, Quality:=xlQualityStandard, _
                IncludeDocProperties:=True, _
                IgnorePrintAreas:=False, OpenAfterPublish:=False
            
        End If
    
    Next
    
    
    '*** Fehlerbehandlung 
    Err.Clear
Fehler:
    Application.EnableEvents = True
    If Err.Number <> 0 Then MsgBox "Fehler: " & _
        Err.Number & vbLf & Err.Description: Err.Clear
End Sub
LG UweD
Anzeige
AW: Excel mehrere Zeilen als separate PDFs speichern
15.09.2017 15:54:40
Thomas
Hallo Uwe,
vielen Dank für die Hilfe und für deine Mühe.
Der Code funktioniert einwandfrei.
Viele Grüße
Thomas
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Excel mehrere Zeilen als separate PDFs speichern


Schritt-für-Schritt-Anleitung

Um mehrere Zeilen aus einem Excel-Dokument als separate PDFs zu speichern, kannst Du ein VBA-Makro verwenden. Hier sind die Schritte, die Du befolgen solltest:

  1. Öffne Deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Sub ExportAsPDFs()
       Dim WS As Worksheet
       Dim lngZeile As Long
       Set WS = Worksheets("Rechnung")
    
       With Worksheets("Daten")
           For lngZeile = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
               WS.Range("A1") = .Cells(lngZeile, 1) ' Auftragsnummer
               WS.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
               ThisWorkbook.Path & "\Rechnung_" & .Cells(lngZeile, 1) & ".pdf", Quality:=xlQualityStandard, _
               IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
           Next lngZeile
       End With
    End Sub
  4. Passe den Code an, wenn Du andere Zellreferenzen oder Tabellenblätter verwenden möchtest.

  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Drücke ALT + F8, wähle ExportAsPDFs und klicke auf Ausführen.

Jetzt werden alle Rechnungen für die Auftragsnummern in Deiner Excel-Datei als separate PDFs gespeichert.


Häufige Fehler und Lösungen

  • Fehler: "Kompatibilitätsproblem"

    • Stelle sicher, dass Du eine unterstützte Excel-Version verwendest (z.B. Excel 2010 oder neuer).
  • Fehler: "Dateipfad ungültig"

    • Überprüfe, ob der angegebene Speicherort im Code existiert. Ersetze ThisWorkbook.Path durch einen gültigen Pfad.
  • Fehler: "PDF konnte nicht erstellt werden"

    • Stelle sicher, dass die Zelle, die exportiert werden soll, nicht leer ist und die Daten korrekt in das Rechnungslayout eingefügt wurden.

Alternative Methoden

Falls Du kein VBA verwenden möchtest, kannst Du auch die Funktion "Drucken" in Excel nutzen:

  1. Wähle das Tabellenblatt aus, das Du als PDF speichern möchtest.
  2. Gehe zu Datei > Drucken.
  3. Wähle Microsoft Print to PDF als Drucker aus.
  4. Klicke auf Drucken und wähle den Speicherort für die PDF-Datei.

Diese Methode bietet jedoch nicht die Möglichkeit, mehrere PDFs automatisch zu speichern.


Praktische Beispiele

Wenn Du mehrere Excel-Dateien als PDF speichern möchtest, kannst Du den folgenden angepassten Code verwenden:

Sub ExportMultipleExcelToPDF()
    Dim Datei As Workbook
    Dim Pfad As String
    Pfad = "C:\Temp\" ' Speicherort für die PDFs

    For Each Datei In Application.Workbooks
        If Datei.Name Like "*.xlsx" Then
            Datei.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Pfad & Datei.Name & ".pdf"
        End If
    Next Datei
End Sub

Dieser Code speichert alle offenen Excel-Dateien als separate PDFs in dem angegebenen Pfad.


Tipps für Profis

  • Wenn Du häufig Rechnungen als PDFs erstellst, kannst Du den Code in eine benutzerdefinierte Schaltfläche in der Excel-Oberfläche einfügen.
  • Experimentiere mit den Optionen im ExportAsFixedFormat, um die Qualität und die Druckbereiche anzupassen.
  • Stelle sicher, dass Du beim Exportieren in PDF die richtige Druckeinstellung wählst, um sicherzustellen, dass alles auf eine Seite passt, falls erforderlich.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass die PDFs auf eine Seite passen? Du kannst die Druckeinstellungen für das Rechnungsblatt anpassen, um sicherzustellen, dass alle Informationen auf eine Seite passen. Gehe zu Seitenlayout > Seite einrichten und wähle die Optionen für die Skalierung.

2. Ist es möglich, mehrere Excel-Dateien als PDF zu speichern? Ja, mit dem richtigen VBA-Code kannst Du mehrere Excel-Dateien in einem Durchgang als PDFs speichern, wie im obigen Beispiel gezeigt.

3. Was tun, wenn die PDF-Datei nicht gespeichert wird? Überprüfe die Dateiberechtigungen im Zielordner und stelle sicher, dass der Pfad korrekt und zugänglich ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige