Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Drucker auf Farbe umstellen

Forumthread: VBA Drucker auf Farbe umstellen

VBA Drucker auf Farbe umstellen
22.04.2021 16:07:46
Andreas
Hi,
hab unten stehende VBA in meiner Datei, funktioniert auch alles super.
Nun kann der ausgewählte Drucker aber in Farbe und in Schwarz-Weiß drucken.
Wie hinterlege ich das den in der VBA, dass dieses Dokument immer in Farbe gedruckt wird?
Vielen Dank vorab
Gruß Andreas
Sub DruckeBereich()
Dim strDruckerAktiv$, i%, max%, vz%, bz%, sStdDrucker$
sStdDrucker = Application.ActivePrinter
Application.ActivePrinter = "\\SRVADS01.beratex.intranet\Blanko auf Ne05:"
strDruckerAktiv = Application.ActivePrinter
max = Sheets("DQ").Range("AH2").Value
If max If max > 15 Then max = 15
For i = 1 To max
vz = i * 53 - 52: bz = i * 53
Worksheets("Rg. Anschr.").Range("A" & vz & ":R" & bz).PrintOut Copies:=1 'PrintPreview
Next i
Application.ActivePrinter = sStdDrucker
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Drucker auf Farbe umstellen
22.04.2021 16:17:29
Nepumuk
Hallo Andreas,
teste mal:

With Worksheets("Rg. Anschr.")
.PageSetup.BlackAndWhite = False
.Range("A" & vz & ":R" & bz).PrintOut
End With
Gruß
Nepumuk
AW: VBA Drucker auf Farbe umstellen
23.04.2021 10:20:12
Andreas
Guten Morgen Nepumuk und Danke für deine Rückmeldung.
Leider funktioniert es nicht, die Drucke sind immer noch in SW.
Habe ich dein Code an der falschen Stelle eingebaut?
Sub DruckeBereich()
Dim strDruckerAktiv$, i%, max%, vz%, bz%, sStdDrucker$
sStdDrucker = Application.ActivePrinter
Application.ActivePrinter = "\\SRVADS01.beratex.intranet\Blanko auf Ne05:"
strDruckerAktiv = Application.ActivePrinter
max = Sheets("DQ").Range("AH2").Value
If max If max > 15 Then max = 15
For i = 1 To max
vz = i * 53 - 52: bz = i * 53
With Worksheets("Rg. Anschr.")
.PageSetup.BlackAndWhite = False

.Range("A" & vz & ":R" & bz).PrintOut Copies:=1 'PrintPreview
End With
Next i
Application.ActivePrinter = sStdDrucker
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub

Anzeige
AW: VBA Drucker auf Farbe umstellen
23.04.2021 10:25:14
Nepumuk
Hallo Andreas,
stellst du manuell auf Farbe in den Druckeroptionen? Wenn ja, dann lege den Drucker nochmal an mit der Vorgabe Farbdruck und steuere diesen an.
Gruß
Nepumuk
AW: VBA Drucker auf Farbe umstellen
23.04.2021 15:13:55
Andreas
Hi Nepumuk,
ja als Standard ist SW eingestellt.
Ist ein Netzwerkdrucker und ich habe keine Berechtigung, Drucker anzulegen oder zu installieren.
Muss also so irgendwie gehen.
Danke vorab
Gruß Andreas
Anzeige
AW: VBA Drucker auf Farbe umstellen
23.04.2021 15:20:35
Nepumuk
Hallo Andreas,
da habe ich keine Idee.
Gruß
Nepumuk
AW: VBA Drucker auf Farbe umstellen
23.04.2021 16:28:54
Andreas
Sonst jemand eine Idee, wie man über VBA die Ausdrucke von Standard SW vorübergehend auf Farbe umstellen kann?
Vielen Dank vorab und ein schönes Wochenende
Gruß Andreas
AW: Frage deine IT-Admin(s)
24.04.2021 12:40:03
EtoPHG
Hallo Andreas,
Wenn du schon keine Berechtigung hast Drucker anzulegen, dann bleibt nur der Weg über die (Netzwerk/Drucker) Administration. Die sollten doch in der Lage sein einen 2ten (virtuellen) Drucker mit der Einstellung Farbdruck unter einem anderen Namen einzurichten. Für deinen Fall gibt es IMHO keinen anderen Weg.
Gruess Hansueli
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA Drucker auf Farbe umstellen


Schritt-für-Schritt-Anleitung

Um den Drucker in Excel über VBA auf Farbe umzustellen, kannst Du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11 in Excel, um den VBA-Editor zu öffnen.
  2. Erstelle ein neues Modul:

    • Klicke mit der rechten Maustaste auf "VBAProject (DeinDateiname)" und wähle "Einfügen" > "Modul".
  3. Füge den folgenden Code ein:

    Sub DruckeBereich()
       Dim strDruckerAktiv As String
       Dim i As Integer, max As Integer, vz As Integer, bz As Integer
       Dim sStdDrucker As String
    
       sStdDrucker = Application.ActivePrinter
       Application.ActivePrinter = "\\SRVADS01.beratex.intranet\Blanko auf Ne05:"
       strDruckerAktiv = Application.ActivePrinter
       max = Sheets("DQ").Range("AH2").Value
    
       If max > 15 Then max = 15
       For i = 1 To max
           vz = i * 53 - 52
           bz = i * 53
           With Worksheets("Rg. Anschr.")
               .PageSetup.BlackAndWhite = False ' Hier auf Farbe umstellen
               .Range("A" & vz & ":R" & bz).PrintOut Copies:=1 'PrintPreview
           End With
       Next i
       Application.ActivePrinter = sStdDrucker
    End Sub
  4. Speichere und schließe den VBA-Editor:

    • Speichere Deine Änderungen und schließe den VBA-Editor.
  5. Führe das Makro aus:

    • Gehe zurück zu Excel, drücke ALT + F8, wähle DruckeBereich und klicke auf "Ausführen".

Häufige Fehler und Lösungen

  • Drucker druckt immer noch in Schwarz-Weiß:

    • Überprüfe, ob Du den Code .PageSetup.BlackAndWhite = False korrekt eingefügt hast.
  • Drucker nicht gefunden:

    • Stelle sicher, dass der Druckername in Application.ActivePrinter korrekt angegeben ist.
  • Berechtigungen fehlen:

    • Wenn Du keine Berechtigung hast, den Drucker zu ändern, wende Dich an Deinen IT-Administrator.

Alternative Methoden

Falls das direkte Anpassen über VBA nicht funktioniert oder Du die Druckereinstellungen nicht ändern kannst, gibt es Alternativen:

  • Druckereinstellungen manuell ändern:

    • Gehe zu "Datei" > "Drucken" und wähle dort den Drucker aus. Klicke dann auf "Druckereigenschaften" und stelle die Farbe manuell ein.
  • Einen virtuellen Drucker einrichten:

    • Bitte Deinen IT-Administrator, einen zweiten virtuellen Drucker mit Standardfarbdruck einzurichten.

Praktische Beispiele

  • Beispiel für die Farbdruckeinstellungen:

    With Worksheets("Rg. Anschr.")
      .PageSetup.BlackAndWhite = False ' Drucker auf Farbe umstellen
      .Range("A1:R10").PrintOut Copies:=1
    End With
  • Drucken von spezifischen Bereichen:

    • Du kannst den Bereich anpassen, indem Du .Range("A" & vz & ":R" & bz) nach Deinen Bedürfnissen änderst.

Tipps für Profis

  • Druckername dynamisch gestalten:

    • Wenn Du häufig mit verschiedenen Druckern arbeitest, kannst Du den Druckernamen dynamisch über eine Zelle in Deinem Arbeitsblatt beziehen.
  • Fehlerbehandlung einbauen:

    • Füge Fehlerbehandlungsroutinen in Deinen VBA-Code ein, um unerwartete Probleme beim Drucken zu erkennen und zu beheben.

FAQ: Häufige Fragen

1. Wo kann ich beim Drucker die Farbe einstellen?
Die Farbeinstellungen des Druckers kannst Du meist in den Druckereigenschaften ändern, die Du über "Datei" > "Drucken" erreichst.

2. Warum funktioniert das Makro nicht?
Stelle sicher, dass Du die richtigen Berechtigungen hast und dass der Drucker korrekt in VBA referenziert wird.

3. Kann ich den Drucker auch auf Schwarz-Weiß umstellen?
Ja, ändere dafür einfach die Zeile .PageSetup.BlackAndWhite = True im VBA-Code.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige