Hintergrundfarben bei Pdf-Erstellung ignorieren

Bild

Betrifft: Hintergrundfarben bei Pdf-Erstellung ignorieren
von: Mike
Geschrieben am: 09.11.2015 11:33:42

Hallo,
ich verwende folgendes Makro, um per Button-Klick ein Pdf von einem Tabellenblatt zu erstellen.
Der Code funktioniert soweit, mein Problem ist jedoch, dass ich in dem Blatt die Hintergrundfarbe einiger Zellen ändern muss, um diese als Eingabefelder zu kennzeichen.
Diese Hintergrundfarbe soll aber nicht auf dem PDF erscheinen - dort soll der Hintergrund einheitlich transparent, d.h. ohne Farbe sein.
Gibt es eine Möglichkeit, dass im Code zu definieren oder sonst eine Lösung dafür, ohne manuelles Ändern ?
Mein Code:


Sub CreatePdf()
    Dim varDesktopPath As String
    Dim varTimestamp As String
    
    varTimestamp = Format(Now(), "yyyy-mm-dd_hh-mm-ss")
    varDesktopPath = DesktopPath
    
    Call CreateHeaderFooter
    
    Worksheets(2).ExportAsFixedFormat Type:=xlTypePDF, _
        Filename:=varDesktopPath & "\" & ActiveWorkbook.Name & "_" & varTimestamp & ".pdf", _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=True
End Sub

Vielen Dank im Voraus,
Mike

Bild

Betrifft: AW: Hintergrundfarben bei Pdf-Erstellung ignorieren
von: Daniel
Geschrieben am: 09.11.2015 12:01:28
Hi
wenn außer dieser Markierung der Eingabezellen keine weitere Farben vorhanden sind die gedruckt werden müssen, kann reicht es aus, wenn im Menü:
Seitenlayout - Seite einrichten (erweitert) - Blatt
das Häkchen bei Drucken - Schwarzweißdruck setzt
das erweiterte Seite einrichten - Menü bekommst du , wenn in dem Menübereich auf die rechte untere Ecke klickst.
hast du jedoch noch anderen Färbungen auf dem Blatt, die mit gedruckt werden sollen, müsstest du so vorgehen:
1. richte für alle Eingabezellen eine Bedingte Formatierung ein mit folgender Formel als Regel:

=$A$1=" "

und setze als Format der Bediungung weiss als Hintergrundarbei ein.
2. im Code schreibst du dann vor dem Exportieren das Leerzeichen in die Zelle A1 und löschst es hinterher wieder raus.
Gruß Daniel

Bild

Betrifft: AW: Hintergrundfarben bei Pdf-Erstellung ignorieren
von: Mike
Geschrieben am: 09.11.2015 12:13:32
Hi Daniel,
vielen Dank für die Info und die Erklärungen.
Es gibt keine anderen Farben auf dem Blatt was den Hintergrund betrifft, jedoch unterschiedliche Schriftfarben, so dass der Schwarzweißdruck wohl keine Option ist.
Gibt es hier eine Lösung per VBA ?
Ich dachte an einen Weg, beim Aufrufen des obigen Makros bzw. Before Print die Hintergrundfarbe der ganzen Seite auf weiß bzw. transparent zu setzen.
Geht das irgendwie ?
Gruß,
Mike

Bild

Betrifft: AW: Hintergrundfarben bei Pdf-Erstellung ignorieren
von: Daniel
Geschrieben am: 09.11.2015 12:22:33
Hi
naja, du kannst im Makro die Hintergrundfarbe mit
Cells.Interior.ColorIndex = xlNone
ausschalten.
dann ist die Farbe aber weg.
wenn die Farbe nach dem Druck wieder da sein soll, würde ich das wie von mir beschrieben mit der Bedingten Formatierung lösen.
diese Bedingte Formatierung richtest du einmal von Hand für das ganze Blatt ein
und musst dann im Code nur noch die Zelle, welche in der Regel verwendet wird, den entsprechenden Wert reinschreiben oder den Wert wieder löschen.
dazu bräuchstet du, wenn du die Bedingte Formatierung wie von mir beschrieben eingerichtet hast, nur noch folgende zwei Zeilen in deinem Code ergänzen


Worksheets(2).Cells(1, 1).Value = " "
Worksheets(2).ExportAsFixedFile...
Worksheets(2).Cells(1, 1).ClearContents
Gruß Daniel
Gruß Daniel

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Tabelle filtern und dann kopieren "