Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1792to1796
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

ind. Tabellenblatt .pdf Erstellung

ind. Tabellenblatt .pdf Erstellung
19.11.2020 07:27:54
Marcel
Hallo zusammen,
ich bin mal wieder an ein Problem geraten, wo ich eure Unterstützung benötige. Ich habe eine Excelmappe (siehe Beispiel), in welcher es das Blatt -Namen- und -Vorlage- gibt.
Ein aktuelles Makro (siehe Anlage) kopiert mir das Tabellenblatt -Vorlage- und setzt mir die Nummer aus dem Tabellenblatt -Namen- in Zelle E5 des kopierten -Vorlagen- Blattes. Dies wird so lange wederholt, wie es Nummern gibt.
https://www.herber.de/bbs/user/141688.xlsm
Anstelle der Erstellung neuer Tabellenblätter, da dies in der Live Version um die 500 sind, möchte ich einfach jeweils .pdf erstellen und diese auf einem individuellen Pfad speichern lassen. Die .pdf sollen benannt werden, nach der in Spalte Dateinamen lautenden Parameter "xxx_123", usw. Vielen lieben Dank euch!
Könnt ihr mir hier behilflich sein.

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ind. Tabellenblatt .pdf Erstellung
19.11.2020 08:08:58
Marcel
Hallo Armin,
vielen Dank. Ich habe es mal laufen gelassen. Aber es werden mir "nur" die Tabellenblätter erstellt, jedoch nicht die .pdf? - muss ich da noch was mit dem Pfad anpassen? - Als Beispiel gerne in einen "Neuer Ordner" auf dem Desktop.
Herzlichen Dank für deine schnelle Hilfe.
AW: ind. Tabellenblatt .pdf Erstellung
19.11.2020 08:26:43
worti
Moin Marcel,
das geht wohl so:

Sub Erstellung_Tabellenblaetter()
Const MyPath = "C:\Development\"
Dim LastRow, i, sht As Worksheet
Dim MyDir As String
With Sheets("NAME")
LastRow = .Cells(Rows.Count, "G").End(xlUp).Row
For i = 7 To LastRow
On Error Resume Next
Set sht = Sheets(.Range("G" & i).Value)
If Err.Number > 0 Then
Sheets("VORLAGE").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = .Range("H" & i)
ActiveSheet.Range("E5") = .Range("G" & i)
MyDir = MyPath & ActiveSheet.Name & "\"
MkDir (MyDir)
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=MyDir & ActiveSheet.Name
End If
Next
End With
End Sub

Gruß Worti
Anzeige
oT nachgefragt ...
19.11.2020 08:49:20
neopa
Hallo Worti,
... bist Du der Worti, den ich kenne und von dem ich nur lange nichts gelesen habe?
Gruß Werner
.. , - ...
AW: oT nachgefragt ...
19.11.2020 09:02:24
worti
Moin Werner,
genau der bin ich ;-)
Lieben Gruß
Worti
AW: auferstanden am/aus ... ;-) owT
19.11.2020 09:17:40
neopa
Gruß Werner
.. , - ...
AW: auferstanden am/aus ... ;-)
19.11.2020 10:41:17
worti
...der Asche. Du darfst mich Phoenix nennen ;-)
AW: ind. Tabellenblatt .pdf Erstellung
19.11.2020 10:56:14
Herbert_Grom
Hallo Worti,
ja was lesen denn meine erfreuten Augen: Worti ist wieder da! Jubel! Na wie geht es Dir? Corona gut überstanden, bis jetzt? Aber in Rente bist du ja noch nicht, oder?
Servus
AW: ind. Tabellenblatt .pdf Erstellung
19.11.2020 08:30:40
Marcel
Hallo Armin,
klappt nach einem zweiten Test doch super! - Wie kann ich jedoch einen individuellen Pfad in deinem Code noch berücksichtigen, als Beispiel bitte diesen: "C:\Users\marcel\Desktop\Neuer Ordner", besten Dank.
LG Marcel
Anzeige
AW: ind. Tabellenblatt .pdf Erstellung
19.11.2020 09:54:01
Marcel
Hallo,
wie kann ich jedoch einen individuellen Pfad in deinem Code noch berücksichtigen, als Beispiel diesen: "C:\Users\marcel\Desktop\Neuer Ordner", bzw. würde dieser idealerwesie in Zelle "A1" im Tabellenblatt -Name- stehen, besten Dank.

Sub PDFDaten_Erstellen()
Dim N As Integer
Dim StrPath As String
Dim WS As Worksheet
Dim Wk As Worksheet
Application.ScreenUpdating = False
Set WS = Worksheets("Name")
With Worksheets("VORLAGE")
.Activate
For N = 7 To WS.Cells(Rows.Count, 7).End(xlUp).Row
.Range("E5").Value = WS.Cells(N, 7).Value
PrintToPDF WS.Cells(N, 8).Value, ActiveWorkbook.Path
Next
End With
Application.ScreenUpdating = True
End Sub
Sub PrintToPDF(sPDFName As String, sPDFPath As String)
If Right(sPDFPath, 1)  "\" Then sPDFPath = sPDFPath & "\"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
sPDFPath & sPDFName & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True,  _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End Sub
LG Marcel
Anzeige
AW: ind. Tabellenblatt .pdf Erstellung
19.11.2020 10:40:36
peterk
Hallo
Z.B

PrintToPDF WS.Cells(N, 8).Value, WS.Cells(1, 1).Value ' Zelle A1
oder

PrintToPDF WS.Cells(N, 8).Value, "C:\Users\marcel\Desktop\Neuer Ordner"

AW: ind. Tabellenblatt .pdf Erstellung
19.11.2020 18:21:22
Marcel
PERFEKT! - Einfach genial, genau das was ich gesucht habe, du bist spitze!
LG Marcel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige