So verwenden Sie Excel VBA zum Drucken

Millionen von Kleinunternehmern und -unternehmern auf der ganzen Welt verwenden Microsoft Excel, um allgemeine Buchhaltungs-, Prognose- und Inventuraufgaben zu lösen. Mit den integrierten Tools von Excel ist es relativ einfach, eine Tabelle oder Arbeitsmappe als Anhang an eine Person in einer E-Mail zu senden. Trotzdem gibt es viele Male, wenn nichts besser ist als eine Kopie der Kalkulationstabellendaten. Natürlich können Sie die Menüoption "Datei | Drucken" in der Multifunktionsleiste verwenden, um gedruckte Versionen Ihrer Tabelle zu erstellen. Mithilfe von Visual Basic für Applikationen oder VBA können Sie jedoch auch Makros oder Befehlsschaltflächen erstellen, um verschiedene Druckaufgaben in Excel wesentlich schneller und effizienter auszuführen.

Aktivieren Sie die Registerkarte "Entwickler"

1

Starten Sie Microsoft Excel und öffnen Sie die Arbeitsmappe oder Vorlage, in der Sie VBA-Druckfunktionen programmieren möchten. Klicken Sie im Excel-Menüband auf "Datei" und dann auf "Optionen".

2

Suchen Sie im linken Bereich des Fensters "Excel-Optionen" die Kopfzeile "Anpassen". Aktivieren Sie das Kontrollkästchen neben "Entwickler" im Abschnitt "Hauptregisterkarten" unter der Bezeichnung "Anpassen der Multifunktionsleiste".

3.

Klicken Sie auf die Schaltfläche "OK", um die Registerkarte "Entwickler" in der Multifunktionsleiste zu aktivieren und das Fenster "Excel-Optionen" zu schließen. Nachdem Sie das Optionsfenster geschlossen haben, zeigt Excel automatisch die Entwicklerregisterkarte in der Multifunktionsleiste an.

Erstellen Sie eine Druckschaltfläche mit VBA

1

Klicken Sie in der Multifunktionsleiste auf die Registerkarte "Entwickler". Klicken Sie auf der Registerkarte "Entwickler" im Abschnitt "Steuerelemente" auf den Dropdown-Pfeil für das Symbol "Einfügen". Klicken Sie auf das Symbol "Button Control" unter "Form Controls".

2

Klicken Sie auf die Zelle in der Kalkulationstabelle, in der Sie eine Druckschaltfläche platzieren möchten. Nachdem Sie auf eine Zelle geklickt und eine Zelle ausgewählt haben, wird automatisch das Fenster "Makro zuweisen" angezeigt.

3.

Geben Sie "PrintCurrentSheet" oder etwas Ähnliches in das Feld "Macro Name" ein. Verwenden Sie keine Leerzeichen im Makronamen. Klicken Sie auf die Schaltfläche "Neu". Das Visual Basic für Applikationen-Editorfenster wird angezeigt und zeigt ein neues Codefenster.

4

Setzen Sie den Mauszeiger in den Zeilenbereich zwischen den Werten "Sub PrintCurrentSheet ()" und "End Sub". Geben Sie den folgenden Befehl ein:

ActiveSheet.PrintOut

5

Klicken Sie in der Symbolleiste des VBA-Editors auf das Diskettensymbol, um den Code zu speichern. Schließen Sie das VBA-Editorfenster.

6

Klicken Sie mit der rechten Maustaste auf die neue Befehlsschaltfläche und markieren Sie den Standardtext für "Schaltfläche 1". Ändern Sie den Beschriftungstext der Schaltfläche in "Schnelldruck" oder einen anderen beschreibenden Namen.

7.

Klicken Sie auf die neue Befehlsschaltfläche. Excel druckt das aktive Arbeitsblatt auf dem Standard-Windows-Drucker, ohne das normale Dialogfeld "Drucken" anzuzeigen.

Tipps

  • Sie können auf dieselbe Weise viele Druckfunktionen in Excel mit VBA erstellen. Die Schritte zum Erstellen der Druckfunktionstaste sind gleich. Nur die Befehlssyntax unterscheidet sich.
  • Um alle Arbeitsblätter in der aktuellen Arbeitsmappe zu drucken, ohne das Dialogfenster "Drucken" anzuzeigen, ersetzen Sie den Befehl "ActiveSheet.PrintOut" durch "Worksheets.PrintOut" oder "ActiveWorkbook.PrintOut" - ohne die Anführungszeichen.
  • Sie können eine Schnelldrucktaste nur für Zellen erstellen, die Sie mit der Maus auswählen, indem Sie den Befehl „Selection.PrintOut“ im VBA-Code verwenden.
  • Wenn Sie auf einem anderen Drucker als dem Windows-Standarddrucker drucken möchten, verwenden Sie den folgenden Code für die Befehlsschaltfläche im VBA-Codefenster:
  • Unterer QuickChangePrinter ()
  • Dim sNewPrinter As String
  • sNewPrinter = ActivePrinter
  • ActivePrinter = "Geben Sie hier den Windows-Namen des Druckers ein"
  • Application.PrintOut FileName: = ""
  • ActivePrinter = sNewPrinter
  • End Sub

Beliebte Beiträge