Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1428to1432
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Pdf druckens in Abhängigkeit erstellen

Pdf druckens in Abhängigkeit erstellen
19.06.2015 08:37:09
Matthias
Hallo,
ich habe eine Datei in der ich in Abhängigkeit des ausgewählten Blattes und eines Kriterium Ausdrucke von einem weiteren Blatt machen lassen kann.
https://www.herber.de/bbs/user/98204.xlsm
Ist es möglich, das Ganze so zu erweiterbar, dass Pdf`s erstellt werden und es nicht über einen realen Drucker geht?
Es sollte so sein, dass in dem Ordner in dem die Exceldatei selbst liegt ein Unterordner erstellt wird mit dem Namen PDF und in der die Pdf`s gespeichert werden.
Der Name der PDF ergibt sich zusammengesetzt als der Text aus zwei Zellen.
Kann mir hierzu wer helfen?

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pdf druckens in Abhängigkeit erstellen
19.06.2015 12:18:44
fcs
Hallo Mathias,
irgenwie kommt mir die datei bekannt vor.
Nachfolgend das Makro mit erweiterung zur Ausgabe als PDF.
Gruß
Franz
Sub Seriendruck(ByVal strSheet As String)
Dim wksData As Worksheet, wksPrint As Worksheet
Dim iRow As Integer
Dim FolderPDF As String, File_PDF As String
On Error GoTo Fehler
Set wksData = ActiveWorkbook.Worksheets(strSheet)
Set wksPrint = ActiveWorkbook.Worksheets("A") 'Name des zu drucken Blatts ggf. anpassen
iRow = 2
FolderPDF = ActiveWorkbook.Path & Application.PathSeparator & "PDF"
If Dir(FolderPDF, vbDirectory) = "" Then
VBA.MkDir FolderPDF
End If
FolderPDF = FolderPDF & Application.PathSeparator
Do Until IsEmpty(wksData.Cells(iRow, 1))
If UCase(wksData.Cells(iRow, 4).Value) = "P" Then 'Wert in Spalte D prüfen
wksPrint.Range("A1").Value = wksData.Cells(iRow, 1).Value 'lfd. Nr
wksPrint.Range("A2").Value = strSheet
wksPrint.Calculate '? - wenn Formelberechnungen aktualisiert werden müssen
File_PDF = FolderPDF & wksPrint.Range("A1").Text & "-" _
& wksPrint.Range("A2").Text & ".pdf" 'Zellen und verbindenden Text ggf. anpassen
wksPrint.ExportAsFixedFormat Type:=xlTypePDF, Filename:=File_PDF, _
Quality:=xlQualityStandard, IgnorePrintareas:=False, Openafterpublish:=False
End If
iRow = iRow + 1
Loop
Fehler:
With Err
Select Case .Number
Case 0 'Alles OK
Case 9
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description & vbLf & vbLf _
& "Blatt """ & strSheet & """ ist nicht vorhanden!"
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End Select
End With
End Sub

Anzeige
AW: Pdf druckens in Abhängigkeit erstellen
24.06.2015 07:41:09
Matthias
Hallo,
so die allerletzte Anpassung bräuchte ich noch.
Sub VV()
Dim wks As Worksheet
Dim iRow As Integer
Set wks = Worksheets("Mitgliederdaten")
iRow = 7
Do Until IsEmpty(wks.Cells(iRow, 1))
If wks.Cells(iRow, 14).Value = "V" Then
Worksheets("VV").Range("$T$1") = wks.Cells(iRow, 1)
Worksheets("VV").PrintOut
End If
iRow = iRow + 1
Loop
End Sub

Der Code funktioniert super.
Nur sollte es noch auf PDF umgestellt werden. So wie hier.
Sub SeriendruckVPDF(ByVal strSheet As String)
Dim wksData As Worksheet, wksPrint As Worksheet
Dim iRow As Integer
Dim FolderPDF As String, File_PDF As String
On Error GoTo Fehler
Set wksData = ActiveWorkbook.Worksheets(strSheet)
Set wksPrint = ActiveWorkbook.Worksheets("V") 'Name des zu drucken Blatts ggf. anpassen
iRow = 8
FolderPDF = ActiveWorkbook.Path & Application.PathSeparator & "Verzichterklärung"
If Dir(FolderPDF, vbDirectory) = "" Then
VBA.MkDir FolderPDF
End If
FolderPDF = FolderPDF & Application.PathSeparator
Do Until IsEmpty(wksData.Cells(iRow, 1))
If UCase(wksData.Cells(iRow, 45).Value) = "A" Then 'Wert in Spalte D prüfen
wksPrint.Range("T1").Value = wksData.Cells(iRow, 1).Value 'lfd. Nr
wksPrint.Range("U1").Value = strSheet
wksPrint.Calculate '? - wenn Formelberechnungen aktualisiert werden müssen
File_PDF = FolderPDF & wksPrint.Range("A5").Text & "_" _
& wksPrint.Range("A6").Text & "_" & wksPrint.Range("U1").Text & ".pdf" 'Zellen und  _
verbindenden Text ggf. anpassen
wksPrint.ExportAsFixedFormat Type:=xlTypePDF, Filename:=File_PDF, _
Quality:=xlQualityStandard, IgnorePrintareas:=False, Openafterpublish:=False
End If
iRow = iRow + 1
Loop
Err.Clear
Fehler:
With Err
Select Case .Number
Case 0 'Alles OK
Case 9
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description & vbLf & vbLf _
& "Blatt """ & strSheet & """ ist nicht vorhanden!"
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End Select
End With
End Sub

Der Name der Dateien setzt sich dabei zusammen aus den Werten der laufenden Zellen der Spalten B und C. Desweiteren gibt es auch die Vorgabe des zu druckenden Zielblattes nicht, ich möchte nur den ersten Code so erweiteren, dass PDF in einem Pfad erstellt werden und die PDF mit einem definierten Name abgespeichert werden.
Vielen Dank
Gruß
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige