Excel VBA: Farbige Reiter als PDF drucken, jedes Blatt auf eine Seite.

Antwort

Um in Excel VBA nur die farbig markierten Blätter in eine PDF-Datei zu drucken und jedes Blatt auf eine Seite darzustellen, kannst du den folgenden Code verwenden. Dieser Code durchläuft alle Arbeitsblätter in der Arbeitsmappe, prüft, ob sie farbig markiert sind, und druckt sie dann in eine PDF-Datei. ```vba Sub PrintColoredSheetsToPDF() Dim ws As Worksheet Dim pdfPath As String Dim pdfFileName As String Dim coloredSheets As Collection Set coloredSheets = New Collection ' Pfad und Dateiname für die PDF-Datei festlegen pdfPath = ThisWorkbook.Path & "\" pdfFileName = "ColoredSheets.pdf" ' Durchlaufe alle Arbeitsblätter und prüfe auf Farbmarkierung For Each ws In ThisWorkbook.Worksheets If ws.Tab.Color <> RGB(255, 255, 255) Then ' Überprüfen, ob die Registerkarte farbig ist coloredSheets.Add ws End If Next ws ' Wenn farbige Blätter gefunden wurden, drucke sie in eine PDF-Datei If coloredSheets.Count > 0 Then Dim sheetArray() As String ReDim sheetArray(1 To coloredSheets.Count) Dim i As Integer For i = 1 To coloredSheets.Count sheetArray(i) = coloredSheets(i).Name Next i ' PDF-Druckeinstellungen With ThisWorkbook .ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPath & pdfFileName, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, OpenAfterPublish:=True, _ From:=1, To:=coloredSheets.Count, _ Sheets:=sheetArray End With Else MsgBox "Es wurden keine farbig markierten Blätter gefunden." End If End Sub ``` ### Hinweise: 1. **Farbmarkierung**: Der Code prüft, ob die Registerkarte des Arbeitsblatts eine andere Farbe als Weiß hat. Du kannst die RGB-Werte anpassen, um andere Farben zu berücksichtigen. 2. **PDF-Pfad**: Die PDF-Datei wird im gleichen Verzeichnis wie die Arbeitsmappe gespeichert. Du kannst den `pdfPath` anpassen, wenn du einen anderen Speicherort wünschst. 3. **Druckeinstellungen**: Der Code exportiert die Blätter als PDF und öffnet die Datei nach dem Erstellen. Führe diesen Code in einem Modul in der VBA-Entwicklungsumgebung von Excel aus, um die gewünschten Blätter in eine PDF-Datei zu drucken.

Kategorie: Programmierung Tags: Excel VBA PDF
KI fragen

Verwandte Fragen

Ist Shapes("Rechteck 1").Visible = True korrekt in Excel-VBA?

Der Ausdruck `Shapes("Rechteck 1").Visible = True` ist in Excel-VBA **nicht korrekt**, da das `Visible`-Eigenschaftsmerkmal für Shapes in Excel-VBA **nicht existiert**. In Excel-VBA s... [mehr]

Ist folgender Excel-VBA-Code korrekt: HeightPt = Rows("4:" & Cells(49,19).Row).Height?

Der gezeigte Code ist in Excel-VBA **nicht korrekt** und führt zu einem Fehler. Das Problem liegt in der Syntax innerhalb der `Rows`-Funktion. Hier die Analyse: **Dein Code:** ```vba HeightPt =... [mehr]

Wie kann man in Excel-VBA einen RGB-Code aus einer Zelle lesen?

Um in Excel-VBA einen RGB-Code aus einer Zelle zu lesen und diesen z.B. für die Füllfarbe eines Shapes zu verwenden, kannst du wie folgt vorgehen: Angenommen, in Zelle **A1** steht der RGB-... [mehr]

Ist der Code wert = Range("Ergebnisse[Gab Bauteil lang]").Value in VBA fehlerfrei?

Der Code `wert = Range("Ergebnisse[Gab Bauteil lang]").Value` ist in VBA **nicht fehlerfrei**, wenn du auf eine Excel-Tabelle mit strukturierten Verweisen (Tabellenreferenzen) zugreifen m&ou... [mehr]

Kann man Private Sub Workbook_SheetBeforeRightClick in Private Sub Workbook_Open integrieren?

Nein, das ist nicht möglich. In VBA (Visual Basic for Applications) sind `Workbook_Open` und `Workbook_SheetBeforeRightClick` zwei eigenständige Ereignisprozeduren (Event Handler), die jewei... [mehr]

Gibt es If Not (Bedingung) Then in VBA für Excel?

Ja, in VBA für Excel gibt es die Möglichkeit, eine Bedingung mit **If Not (Bedingung) Then** zu prüfen. Das Schlüsselwort **Not** kehrt die Bedingung um. Hier ein Beispiel: ```vba... [mehr]

Ist 'Range(Cells(a,10):Cells(b,10)).Copy' im VBA-Code korrekt?

Die Syntax `Range(Cells(a,10):Cells(b,10)).Copy` ist in VBA (Visual Basic for Applications) **nicht korrekt**. In VBA muss der Bereich innerhalb der `Range`-Funktion als String oder als zwei separate... [mehr]

Wie kann ich mit VBA den Bereich 'Test' in Blatt 1 kopieren und in Blatt 2 ab Zelle B18 einfügen?

Um in Excel mit VBA einen Bereich namens "test" aus Blatt 1 zu kopieren und in Blatt 2 ab Zelle B18 einzufügen, kannst du folgenden VBA-Code verwenden: ```vba Sub BereichKopieren()... [mehr]

Wie kann man Zahlen in Excel-VBA ohne wissenschaftliches Format in eine .txt-Datei schreiben?

Um Zahlen wie 6,9999999999 in Excel-VBA beim Schreiben in eine .txt-Datei **nicht** im wissenschaftlichen Format (z. B. 6,9999999999E+00), sondern exakt so wie sie sind (mit allen Nachkommastellen), z... [mehr]

Wie lautet die Syntax, um in Excel VBA ein bestimmtes Tabellenblatt zu aktivieren?

Um in Excel VBA ein bestimmtes Tabellenblatt zu aktivieren, verwendest du folgende Syntax: ```vba Worksheets("Tabellenblattname").Activate ``` Ersetze dabei `"Tabellenblattname"`... [mehr]