Excel VBA: Farbige Reiter drucken und PDF erstellen.

Antwort

Um in Excel VBA die farbig markierten Reiter (Arbeitsblätter) auszuwählen, die Druckeinstellungen so zu ändern, dass sie auf eine Seite passen, und anschließend eine PDF-Datei zu erstellen, kannst du den folgenden VBA-Code verwenden: ```vba Sub ExportColoredSheetsToPDF() Dim ws As Worksheet Dim pdfPath As String Dim coloredSheets As Collection Set coloredSheets = New Collection ' Pfad für die PDF-Datei festlegen pdfPath = ThisWorkbook.Path & "\ColoredSheets.pdf" ' Durchlaufe alle Arbeitsblätter und füge die farbig markierten hinzu For Each ws In ThisWorkbook.Worksheets If ws.Tab.Color <> xlNone Then coloredSheets.Add ws End If Next ws ' Wenn keine farbig markierten Blätter gefunden wurden If coloredSheets.Count = 0 Then MsgBox "Es wurden keine farbig markierten Blätter gefunden." Exit Sub End If ' Druckeinstellungen für jedes farbig markierte Blatt anpassen For Each ws In coloredSheets With ws.PageSetup .FitToPagesWide = 1 .FitToPagesTall = 1 End With Next ws ' PDF erstellen Dim sheetArray() As String ReDim sheetArray(1 To coloredSheets.Count) For i = 1 To coloredSheets.Count sheetArray(i) = coloredSheets(i).Name Next i ThisWorkbook.Sheets(sheetArray).Select ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPath, Quality:=xlQualityStandard MsgBox "PDF wurde erfolgreich erstellt: " & pdfPath End Sub ``` ### Erklärung des Codes: 1. **Sammlung der farbig markierten Blätter**: Der Code durchläuft alle Arbeitsblätter und fügt die hinzu, deren Tab-Farbe nicht `xlNone` ist. 2. **Druckeinstellungen**: Für jedes farbig markierte Blatt werden die Druckeinstellungen so gesetzt, dass es auf eine Seite passt. 3. **PDF-Erstellung**: Die ausgewählten Blätter werden in eine PDF-Datei exportiert. ### Verwendung: - Füge diesen Code in ein Modul in der VBA-Entwicklungsumgebung von Excel ein. - Führe das Makro `ExportColoredSheetsToPDF` aus, um die PDF zu erstellen. Stelle sicher, dass du die richtigen Berechtigungen hast, um auf den angegebenen Pfad zuzugreifen und die PDF zu speichern.

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

Verwandte Fragen

Excel VBA: Reiter, die farbig markiert sind, Druckeinstellung auf eine Seite darstellen und eine PDF erstellen?

Um in Excel VBA die farbig markierten Reiter (Arbeitsblätter) auszuwählen, die Druckeinstellungen so zu ändern, dass sie auf eine Seite passen, und anschließend eine PDF zu erstel... [mehr]

Excel VBA: Grün markierte Reiter sollen in eine PDF-Datei gedruckt werden, jedes Arbeitsblatt auf eine Seite darstellen und die erste Seite mit einer Kopfzeile beschriften.

Um in Excel VBA alle grün markierten Arbeitsblätter als PDF zu drucken und dabei sicherzustellen, dass jedes Arbeitsblatt auf einer Seite dargestellt wird und die erste Seite eine Kopfzeile... [mehr]

Wie kann ich in Excel VBA die farbig markierten Reiter drucken und die Druckeinstellung so festlegen, dass das Blatt auf einer Seite dargestellt wird?

Um in Excel VBA die farbig markierten Blätter zu drucken und dabei die Druckeinstellungen so zu setzen, dass jedes Blatt auf einer Seite dargestellt wird, kannst du den folgenden Code verwenden.... [mehr]

Excel VBA: Farbige markierte Reiter, als PDF drucken, jedes Arbeitsblatt auf eine Seite darstellen. Erste Seite Kopfzeile beschriften?

Um in Excel VBA ein Makro zu erstellen, das den aktiven Reiter (das aktive Arbeitsblatt) als PDF-Datei druckt, jedes Arbeitsblatt auf eine Seite darstellt und die erste Seite mit einer Kopfzeile besch... [mehr]

Wie kann ich mit VBA die Zelle mit dem Namen 'Konto' auswählen?

Um in VBA eine Zelle mit dem Namen „Konto“ auszuwählen, kannst du den Namen direkt über das `Range`-Objekt ansprechen. Voraussetzung ist, dass der Name „Konto“ als be... [mehr]

Wie kann ich mit einem VBA-Makro eine Zellverknüpfung zu einem anderen, nicht geöffneten Arbeitsblatt aktualisieren?

Um eine Verknüpfung (z.B. eine Formel wie `='[AndereDatei.xlsx]Tabelle1'!A1`) in einer Zelle per VBA zu aktualisieren, ohne dass die verknüpfte Arbeitsmappe geöffnet ist, kann... [mehr]

Wie setze ich Variablen beim Starten einer Excel-Tabelle mit VBA?

Um Variablen wie `Set wsKriterien = ThisWorkbook.Worksheets("Kriterien")` beim Starten einer Excel-Datei automatisch zu setzen, kannst du das Workbook-Open-Ereignis im VBA-Editor nutzen. So... [mehr]

Was bewirkt der VBA-Code ThisWorkbook.Names("z06_a1401111_Bericht").RefersToR1S1 = "='z06_a1401111_Bericht'!R1S1:R20S18"?

Der Ausdruck ```vba ThisWorkbook.Names("z06_a1401111_Bericht").RefersToR1S1 = "='z06_a1401111_Bericht'!R1S1:R20S18" ``` weist dem definierten Namen **z06_a1401111_Beric... [mehr]

Wie kann der VBA-Code angepasst werden, damit in 'Personen einzelnd drucken' der Name in Spalte C9-C66 gesucht und mit dem Wert im Arbeitsplan verglichen wird?

Um die Schleife so umzubauen, dass **in "Personen einzelnd drucken"** in den Zellen **C9:C66** nach dem Namen gesucht und mit der Spalte B im "Arbeitsplan" verglichen wird, muss di... [mehr]

Warum erkennt mein Excel VBA-Makro das Datum im Arbeitsplan nicht, obwohl es als Datum hinterlegt ist, aber in einer anderen Tabelle als Zahl angezeigt wird?

Das Problem liegt sehr wahrscheinlich an der Art, wie Excel intern mit Datumswerten umgeht. Ein Datum in Excel ist eigentlich eine Zahl (z.B. 45123 für den 01.09.2023), aber die Anzeige kann unte... [mehr]