Excel VBA: Grün markierte Reiter als PDF drucken, jedes Arbeitsblatt auf einer Seite darstellen und erste Seite Kopfzeile beschriften.

Antwort

Um in Excel VBA alle Arbeitsblätter, die grün markiert sind, in eine PDF-Datei zu drucken und dabei sicherzustellen, dass jedes Arbeitsblatt auf einer Seite dargestellt wird und die erste Seite eine Kopfzeile hat, kannst du den folgenden VBA-Code verwenden: ```vba Sub PrintGreenSheetsToPDF() Dim ws As Worksheet Dim pdfPath As String Dim pdfFileName As String Dim pdfFullPath As String Dim firstPageHeader As String Dim pdfSheets As Collection Set pdfSheets = New Collection ' Pfad und Dateiname für die PDF-Datei festlegen pdfPath = ThisWorkbook.Path & "\" pdfFileName = "GrünMarkierteBlätter.pdf" pdfFullPath = pdfPath & pdfFileName firstPageHeader = "Kopfzeile für die erste Seite" ' Durchlaufe alle Arbeitsblätter und füge grün markierte hinzu For Each ws In ThisWorkbook.Worksheets If ws.Tab.Color = RGB(0, 255, 0) Then ' Überprüfen, ob die Registerkarte grün ist pdfSheets.Add ws.Name End If Next ws ' Wenn keine grünen Blätter gefunden wurden If pdfSheets.Count = 0 Then MsgBox "Es wurden keine grün markierten Arbeitsblätter gefunden." Exit Sub End If ' Kopfzeile auf dem ersten Blatt hinzufügen With ThisWorkbook.Worksheets(pdfSheets(1)) .PageSetup.CenterHeader = firstPageHeader .PageSetup.FitToPagesWide = 1 .PageSetup.FitToPagesTall = False End With ' PDF drucken Dim sheetName As Variant Dim tempSheet As Worksheet For Each sheetName In pdfSheets Set tempSheet = ThisWorkbook.Worksheets(sheetName) tempSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfFullPath, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False Next sheetName MsgBox "Die PDF-Datei wurde erfolgreich erstellt: " & pdfFullPath End Sub ``` ### Erläuterungen: - Der Code durchläuft alle Arbeitsblätter in der Arbeitsmappe und prüft, ob die Registerkarte grün markiert ist. - Wenn grün markierte Arbeitsblätter gefunden werden, werden sie in eine Sammlung aufgenommen. - Die Kopfzeile wird nur auf dem ersten Arbeitsblatt gesetzt. - Schließlich wird jedes grün markierte Arbeitsblatt in eine PDF-Datei exportiert. Stelle sicher, dass du den Code in ein Modul in der VBA-Entwicklungsumgebung von Excel einfügst und die entsprechenden Berechtigungen für das Drucken und Speichern von Dateien hast.

Kategorie: Programierung Tags: Excel VBA PDF
Frage stellen und sofort Antwort erhalten