Farbig oder Schwarz-Weiß Drucken in Excel mit VBA
Schritt-für-Schritt-Anleitung
Um in Excel per Button zwischen farbigem und Schwarz-Weiß-Druck umzuschalten, kannst du folgende Schritte befolgen:
- Öffne dein Excel-Dokument und drücke
ALT + F11, um den VBA-Editor zu öffnen.
- Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (dein Dokument)" > Einfügen > Modul.
- Kopiere und füge den folgenden VBA-Code ein:
Sub DruckSW()
With ActiveSheet
.PageSetup.BlackAndWhite = True
.PrintOut Copies:=1, Collate:=True
.PageSetup.BlackAndWhite = False
.PrintOut Copies:=1, Collate:=True
End With
End Sub
- Füge einen Button in dein Excel-Blatt ein: Wechsle zurück zu Excel, gehe zu "Entwicklertools" > "Einfügen" > "Button (Formularsteuerelement)".
- Weise dem Button das Makro zu: Wähle das Makro
DruckSW aus.
Jetzt kannst du über den Button zwischen farbigem und Schwarz-Weiß-Druck wechseln, indem du die Druckeinstellungen in den Excel-Optionen anpasst.
Häufige Fehler und Lösungen
-
Fehlermeldung: "Objekt unterstützt diese Eigenschaft oder Methode nicht"
Dies könnte bedeuten, dass dein Drucker nicht richtig erkannt wird. Stelle sicher, dass der Drucker korrekt installiert und als Standarddrucker festgelegt ist.
-
Drucker druckt nicht farbig in Windows 11
Überprüfe die Druckereinstellungen in der Systemsteuerung. Stelle sicher, dass der Drucker auf "Farbe" eingestellt ist.
Alternative Methoden
Eine alternative Methode, um zwischen farbigem und Schwarz-Weiß-Druck zu wechseln, ist die Verwendung eines zweiten Druckertreibers mit unterschiedlichen Voreinstellungen. Du kannst auch die IP-Adresse des Druckers im VBA-Code einbinden, um den richtigen Drucker auszuwählen.
Hier ist ein Beispiel, um den Drucker über die IP-Adresse zu steuern:
Public Function GetPrinterName(sIPAdress As String) As String
'Hier kannst du den Code zum Abrufen des Druckernamens basierend auf der IP-Adresse einfügen
End Function
Sub Farbdruck()
Dim sOldPrinter As String
Dim sNewPrinter As String
sOldPrinter = Application.ActivePrinter
sNewPrinter = GetPrinterName("5.4.5.194")
If Not sNewPrinter = "" Then
Application.ActivePrinter = sNewPrinter
Worksheets("Testseite").PrintOut
Application.ActivePrinter = sOldPrinter
Else
MsgBox ("Achtung! Dieser Drucker existiert nicht!")
End If
End Sub
Praktische Beispiele
- Drucken einer Testseite: Du kannst eine Testseite in Farbe oder Schwarz-Weiß drucken, indem du die entsprechenden Druckereinstellungen in deinem Excel-Sheet anpasst.
Sub Testdruck()
Application.ActivePrinter = "Canon_SW" ' Name des Druckers SW
ActiveSheet.PrintOut Copies:=1
Application.ActivePrinter = "Canon_Colour" ' Name des Druckers Farbe
End Sub
Tipps für Profis
-
Standarddrucker ändern: Du kannst Funktionen erstellen, um den Standarddrucker in Windows zu ändern. Dies kann nützlich sein, wenn dein Drucker immer wieder auf die falsche Einstellung zurückgesetzt wird.
-
Benutzeroberfläche verbessern: Verwende Dialogfelder, um den Benutzer zur Auswahl des Druckers aufzufordern. So kannst du die Benutzererfahrung optimieren.
Sub ListAllPrinters_2()
Dim ST_DRUCKER As String
ST_DRUCKER = Application.ActivePrinter
If Application.Dialogs(xlDialogPrinterSetup).Show Then
ActiveSheet.PrintOut
End If
Application.ActivePrinter = ST_DRUCKER
End Sub
FAQ: Häufige Fragen
1. Wie kann ich den Drucker für farbiges Drucken einstellen?
Du kannst die Druckereinstellungen in Windows anpassen, indem du mit der rechten Maustaste auf den Drucker klickst und "Druckeinstellungen" auswählst. Dort kannst du "Farbe" als Standard festlegen.
2. Was tun, wenn Excel nicht farbig druckt?
Überprüfe die Druckereinstellungen sowohl in Excel als auch in Windows. Stelle sicher, dass der richtige Drucker ausgewählt ist und die Farbe als Druckoption aktiviert ist.
3. Kann ich einen Drucker per VBA auswählen?
Ja, du kannst den Drucker mit VBA steuern, indem du den Namen oder die IP-Adresse des Druckers im Code angibst.