Hallo Zusammen,
habe unten aufgeführtes Makro erstellt welches für die Erstellung eines pdf's ca. 45 s benötigt. Hat jemand eine Idee wie die Ausführungszeit beschleunigt werden kann ohne die Funktionalität des Makros einzuschränken. Vielen Dank. Patrick
Sub pdf_erstellen_und_speichern()
' Working in Office 2000-2023
Dim ws As Worksheet
Dim wb As Workbook
Dim fileSaveName As Variant
Dim pdfPath As String
Dim pdfName As String
Dim confirmOverwrite As VbMsgBoxResult
Dim fromPage As Integer
Dim toPage As Integer
'Arbeitsblatt und Workbook referenzieren
Set wb = ActiveWorkbook
Set ws = ActiveSheet
'PDF speichern
pdfName = ws.Range("k24").Value & "-" & Range("m24").Value
pdfPath = wb.Path & "\" & pdfName & ".pdf"
' Aus Mutterblatt Zelle K21 den Speicherpfad auslesen
pdfPath = wb.Worksheets("Mutterblatt").Range("K21").Value & "\" & pdfName & ".pdf"
On Error Resume Next
' Dialog zum Speichern der Datei anzeigen
fileSaveName = Application.GetSaveAsFilename(pdfPath, "PDF-Datei (*.pdf), *.pdf")
If fileSaveName > False Then
If Dir(fileSaveName) > "" Then ' Überprüfen, ob die Datei bereits vorhanden ist
confirmOverwrite = MsgBox("Die Datei existiert bereits. Möchten Sie sie überschreiben?", vbYesNo + vbQuestion, "Datei existiert bereits")
If confirmOverwrite = vbNo Then Exit Sub ' Wenn der Benutzer "Nein" auswählt, wird das Makro beendet
End If
'Die Seitenbereiche aus den Zellen O3 und Q3 auslesen:
fromPage = ws.Range("O3").Value
toPage = ws.Range("Q3").Value
ws.ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileSaveName, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=fromPage, To:=toPage, OpenAfterPublish:=True
'From:=fromPage, To:=toPage,
'From:=1, To:=2,
End If
End Sub