Ich möchte, dass bevor über das normale Menü "Datei-Drucken.." gedruckt wird ein Makro gestartet wird.
Ich weiss, dass es einfach gehen muss, hab's vor einiger Zeit irgendwo gesehen.
Bloß wo ? Kann mir ein lieber Mensch einen Tip geben ?
Um ein Makro vor dem Drucken einer Excel-Datei auszuführen, kannst Du den folgenden VBA-Code in das Modul "DieseArbeitsmappe" deiner Excel-Datei einfügen:
ALT + F11, um den VBA-Editor zu öffnen.Füge den folgenden Code ein:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
' Hier kannst Du Dein Makro aufrufen
MsgBox "Das Makro wird jetzt vor dem Drucken ausgeführt!"
' Füge hier den Code Deines Makros ein
End Sub
Jetzt wird das Makro jedes Mal ausgeführt, wenn Du die Datei druckst.
Fehler: Das Makro wird nicht ausgeführt.
Fehler: Der Druckdialog öffnet sich nicht.
Cancel-Variable auf True gesetzt ist, um den Druckvorgang abzubrechen.Wenn Du kein VBA verwenden möchtest, kannst Du auch eine Schaltfläche in Deinem Excel-Blatt erstellen, die das Drucken und das Ausführen eines Makros kombiniert:
Entwicklertools > Einfügen > Schaltfläche (Formsteuerung) ein.Beispiel für das Makro:
Sub DruckenUndMakro()
' Hier kann Dein Makro-Code stehen
MsgBox "Das Makro wird jetzt ausgeführt!"
' Druckbefehl
ActiveSheet.PrintOut
End Sub
Hier ist ein Beispiel, wie Du ein Makro für das Drucken von Rechnungen nutzen kannst:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Rechnung As String
Rechnung = "Rechnung für Kunde: " & Range("A1").Value
MsgBox Rechnung
End Sub
Wenn Du nun die Datei druckst, wird eine Nachricht angezeigt, die den Kundennamen beinhaltet, bevor der Druckvorgang startet.
Application.ScreenUpdating = False, um die Bildschirmaktualisierung während der Ausführung des Makros zu deaktivieren. Dies kann die Leistung verbessern.1. Kann ich mehrere Makros vor dem Drucken ausführen?
Ja, Du kannst mehrere Makros in die Workbook_BeforePrint-Prozedur einfügen.
2. Was passiert, wenn ich den Druck abbreche?
Der Druck wird abgebrochen, wenn die Cancel-Variable auf True gesetzt wird.
3. Ist dieses Verfahren in allen Excel-Versionen verfügbar?
Ja, das VBA-Feature ist in allen aktuellen Excel-Versionen verfügbar, die Makros unterstützen.