Makro NACH Drucken ausführen
Schritt-für-Schritt-Anleitung
Um ein Makro nach dem Drucken auszuführen, kannst du die Workbook_BeforePrint
-Ereignisprozedur nutzen. Hier ist eine einfache Anleitung:
- Öffne deine Excel-Datei und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Finde im Projektfenster das entsprechende Workbook, in dem du das Makro implementieren möchtest.
- Klicke auf
Diese Arbeitsmappe
(ThisWorkbook).
- Füge den folgenden Code ein:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
On Error GoTo Ende
Application.EnableEvents = False 'Ereignisse ausschalten
Cancel = True 'Druckauftrag anhalten
' Hier kannst du dein Makro oder Code einfügen, der nach dem Drucken ausgeführt werden soll.
MsgBox "Druckvorgang wird jetzt gestartet."
.PrintOut 'Druckauftrag wird ausgeführt
Ende:
Application.EnableEvents = True 'Ereignisse wieder aktivieren
End Sub
- Passe den Code nach deinen Bedürfnissen an und speichere die Änderungen.
Häufige Fehler und Lösungen
Alternative Methoden
Eine weitere Möglichkeit, um ein Makro nach dem Drucken auszuführen, ist die Verwendung von Workbook_AfterPrint
. Diese Methode wird nach dem Drucken aufgerufen, was dir ermöglicht, direkt nach der Druckausgabe Aktionen durchzuführen. Hier ein Beispiel:
Private Sub Workbook_AfterPrint()
MsgBox "Das Drucken wurde erfolgreich abgeschlossen!"
' Füge hier dein Makro oder Code hinzu
End Sub
Praktische Beispiele
Hier ist ein praktisches Beispiel, das du nutzen kannst, um Zellen vor und nach dem Drucken zu färben:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
On Error GoTo Ende
Application.EnableEvents = False
Cancel = True
With ActiveSheet
.Range("A1:B10").Interior.ColorIndex = xlNone 'Zellen entfärben
.PrintOut 'Drucken
.Range("A1:B10").Interior.ColorIndex = 6 'Zellen färben
End With
Ende:
Application.EnableEvents = True
End Sub
Dieses Beispiel zeigt, wie du Zellen vor dem Druck entfernend und nach dem Druck einfärbend kannst.
Tipps für Profis
- Nutze
Application.ScreenUpdating = False
, um das Flackern des Bildschirms während des Druckvorgangs zu vermeiden.
- Teste dein Makro gründlich, um sicherzustellen, dass es in verschiedenen Szenarien funktioniert.
- Dokumentiere deinen Code, um die Wartung zu erleichtern.
FAQ: Häufige Fragen
1. Kann ich das Makro für verschiedene Drucker anpassen?
Ja, du kannst Bedingungen einfügen, um zu prüfen, welcher Drucker ausgewählt ist, und darauf basierend unterschiedliche Aktionen ausführen.
2. Was ist der Unterschied zwischen BeforePrint
und AfterPrint
?
BeforePrint
wird aufgerufen, bevor der Druckauftrag gestartet wird, während AfterPrint
nach Abschluss des Druckvorgangs ausgeführt wird.