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

Datei als selektierte PDF ausgeben

Forumthread: Datei als selektierte PDF ausgeben

Datei als selektierte PDF ausgeben
06.11.2025 13:37:54
Udo
Hallo Ihr Spezialisten,

ich bastele zur Zeit an einem Aufmaßprogramm, das Rechnet als auch Zeichnungen erstellt, für unsere Mitarbeiter, aber aufwendig in der Ausgabe an den Kunden.

Da die Exceldatei sehr gro0 ist, dachte ich mir, dem Kunden nur PDF zu überlassen, dachte das wäre einfach.

Die Aufmaß-Ausgabe umfasst, wenn wirklich alles genutzt wird über 50 Seiten, da das viel zuviel ist, habe ich ein Makro gebaut mit dem ich die benutzten Seiten selektieren kann, was auch gut funktioniert, NUR

Sub Drucken_1bis20()
Application.ScreenUpdating = False
Dim ArrSuch, ArrBlatt, i As Integer, Bereich As String, Vorgabe As String, Datei As String, SW As String
Dim DatName As String
Sheets("Multiprojekte").Select
DatName = Range("BC1")
Sheets("Ausgabe an Kunde Multi").Select
Range("BB1").Select
' If Range("BB1") > 1284 Then GoTo Aufteilen

SW = "b" 'Suchwort
' Übersi.1 Übersi.2 Übersi.3 Übersi.4 Zusammenf. Anschluß Weg1 Weg2 Weg3 Weg4 Weg5 Weg6 Weg7 Weg8 Weg9 Weg10 Weg11 Weg12 Weg13 Weg14 Weg15
ArrBlatt = Array("A1:AX57", "A58:AX114", "A115:AX170", "A171:AX226") ', "A227:AX282", "A283:AX347", "A348:AX414", "A415:AX481", "A482:AX548", "A549:AX615", "A616:AX682", "A683:AX749", "A750:AX816", "A817:AX883", "A884:AX950", "A951:AX1017", "A1018:AX1084", "A1085:AX1151", "A1152:AX1218", "A1219:AX1285") ', "A1286:AX1352", "A1353:AX1419", "A1420:AX1486", "A1487:AX1553", "A1554:AX1620", "A1621:AX1687", "A1688:AX1754", "A1755:AX1821", "A1822:AX1888", "A1889:AX1955", "A1956:AX2022", "A2023:AX2089", "A2090:AX2156", "A2157:AX2223", "A2224:AX2290", "A2291:AX2357", "A2358:AX", "A2423:AX2489", "A2490:AX2556")
' Über.1 Über.2 Über.3 Über.4 Zusam. Anschluß Weg1 Weg2 Weg3 Weg4 Weg5 Weg6 Weg7 Weg8 Weg9 Weg10 Weg11 Weg12 Weg13 Weg14 Weg15
ArrSuch = Array("BC16", "BC73", "BC130", "BC186") ', "BC242", "BC298", "BC363", "BC430", "BC497", "BC564", "BC631", "BC698", "BC765", "BC832", "BC899", "BC966", "BC1033", "BC1100", "BC1167", "BC1234") ', "BC1301", "BC1368", "BC1435", "BC1502", "BC1569", "BC1636", "BC1703", "BC1770", "BC1837", "BC1971", "BC2038", "BC2105", "BC2171", "BC2239", "BC2306", "BC2373", "BC", "BC2450", "BC2520") 'Prüfbereiche zur Seitenwahl
'Gleiche Anzahl an Einträgen


With ActiveSheet.PageSetup
'Reset
.PrintArea = ""
Bereich = ""

For i = LBound(ArrBlatt) To UBound(ArrBlatt)
If Range(ArrSuch(i)) = SW Then
Bereich = Bereich & "," & ArrBlatt(i)
End If
Next

End With
With ActiveSheet.PageSetup
PrintArea = Mid(Bereich, 2)
End With

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=DatName, IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub

die letzte Zeile bereitet mir Kopfschmerzen.
Die erste Ausgabeseite hat 57 Zeilen, wähle ich den Druckbereich nur auf sie und drucke dann als PDF, benötigt das dann ca. 20 Sekunden !
Lasse ich mein Makro laufen, wählt mir dieses die PrintArea = A1:AX57 und schreitet weiter zur letzten Zeile.
Im Explorer wird ein TMP angezeigt, nach einiger Zeit kommt ein kleines Anzeigefenster mit "wird veröffentlich" und einer Balkenanzeige
Nur passieren tut nix
Ich will hoffen das ich das Bildschirmfoto hier veröffentlich bekomme, nach 18 Minuten hatte der Balken vielleicht 5%

Wisst Ihr was ich tun kann ? Printbereich klappt, nur die Ausgabe als PDF hängt.
Das Bildschirmfoto wurde unter 179554.png gespeichert, die PDF der ersten Seite ist leider nicht zulässig
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Datei als selektierte PDF ausgeben
06.11.2025 13:44:41
schauan
Hallöchen,

für die bessere Darstellung von Codes gibt es die Code-Tags - das sieht dan so aus ...
für die Darstellung von Bildern musst Du den Link kopieren und einfügen.

Sub Drucken_1bis20()

Application.ScreenUpdating = False
Dim ArrSuch, ArrBlatt, i As Integer, Bereich As String, Vorgabe As String, Datei As String, SW As String
Dim DatName As String
Sheets("Multiprojekte").Select
DatName = Range("BC1")
Sheets("Ausgabe an Kunde Multi").Select
Range("BB1").Select
' If Range("BB1") > 1284 Then GoTo Aufteilen

SW = "b" 'Suchwort
' Übersi.1 Übersi.2 Übersi.3 Übersi.4 Zusammenf. Anschluß Weg1 Weg2 Weg3 Weg4 Weg5 Weg6 Weg7 Weg8 Weg9 Weg10 Weg11 Weg12 Weg13 Weg14 Weg15
ArrBlatt = Array("A1:AX57", "A58:AX114", "A115:AX170", "A171:AX226") ', "A227:AX282", "A283:AX347", "A348:AX414", "A415:AX481", "A482:AX548", "A549:AX615", "A616:AX682", "A683:AX749", "A750:AX816", "A817:AX883", "A884:AX950", "A951:AX1017", "A1018:AX1084", "A1085:AX1151", "A1152:AX1218", "A1219:AX1285") ', "A1286:AX1352", "A1353:AX1419", "A1420:AX1486", "A1487:AX1553", "A1554:AX1620", "A1621:AX1687", "A1688:AX1754", "A1755:AX1821", "A1822:AX1888", "A1889:AX1955", "A1956:AX2022", "A2023:AX2089", "A2090:AX2156", "A2157:AX2223", "A2224:AX2290", "A2291:AX2357", "A2358:AX", "A2423:AX2489", "A2490:AX2556")
' Über.1 Über.2 Über.3 Über.4 Zusam. Anschluß Weg1 Weg2 Weg3 Weg4 Weg5 Weg6 Weg7 Weg8 Weg9 Weg10 Weg11 Weg12 Weg13 Weg14 Weg15
ArrSuch = Array("BC16", "BC73", "BC130", "BC186") ', "BC242", "BC298", "BC363", "BC430", "BC497", "BC564", "BC631", "BC698", "BC765", "BC832", "BC899", "BC966", "BC1033", "BC1100", "BC1167", "BC1234") ', "BC1301", "BC1368", "BC1435", "BC1502", "BC1569", "BC1636", "BC1703", "BC1770", "BC1837", "BC1971", "BC2038", "BC2105", "BC2171", "BC2239", "BC2306", "BC2373", "BC", "BC2450", "BC2520") 'Prüfbereiche zur Seitenwahl
'Gleiche Anzahl an Einträgen


With ActiveSheet.PageSetup
'Reset
.PrintArea = ""
Bereich = ""

For i = LBound(ArrBlatt) To UBound(ArrBlatt)
If Range(ArrSuch(i)) = SW Then
Bereich = Bereich & "," & ArrBlatt(i)
End If
Next

End With

With ActiveSheet.PageSetup
PrintArea = Mid(Bereich, 2)
End With

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=DatName, IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub
Anzeige
AW: Datei als selektierte PDF ausgeben
06.11.2025 14:12:28
MCO
Mahlzeit!

hier
With ActiveSheet.PageSetup

.
.
'schreibst du nochmal
.
With ActiveSheet.PageSetup 'überlflüssig!
PrintArea = Mid(Bereich, 2) 'hier fehlt der Punkt am Anfang und damit der Bezug zur PageSetup
End With'überlflüssig!
.
.

end with


Testen konnte ich es leider nicht.

Viele Erfolg!
Gruß, MCO

Anzeige
AW: Datei als selektierte PDF ausgeben
07.11.2025 09:37:24
Udo
Super, nun gehts innerhalb von 10 Minunten, immernoch lang, aber Gut Ding muss Weile haben
Damit kann man leben

Forumthreads zu verwandten Themen

Anzeige
Anzeige