Druck mit Button in Excel per VBA
Schritt-für-Schritt-Anleitung
Um einen Druck Button in Excel zu erstellen, der per VBA gedrückt werden kann, folge diesen Schritten:
-
Entwicklertools aktivieren:
- Gehe zu "Datei" > "Optionen" > "Menüband anpassen" und aktiviere "Entwicklertools".
-
Button einfügen:
- Klicke auf die Registerkarte "Entwicklertools" und wähle "Einfügen". Wähle den "Button (Formularsteuerelement)" aus und ziehe diesen auf das Arbeitsblatt.
-
Makro zuweisen:
- Nach dem Einfügen des Buttons öffnet sich ein Fenster, in dem Du ein Makro zuweisen kannst. Wähle ein bestehendes Makro oder klicke auf "Neu", um ein neues Makro zu erstellen.
-
VBA-Code schreiben:
- Schreibe den VBA-Code, um die gewünschten Blätter zu drucken. Ein einfacher Code könnte so aussehen:
Sub Drucken()
Sheets("Hauptblatt").PrintOut Copies:=1
Sheets("Zusatzblatt").PrintOut Copies:=1
End Sub
-
Button testen:
- Klicke auf den Button, um sicherzustellen, dass der Druckvorgang wie gewünscht funktioniert.
Häufige Fehler und Lösungen
-
Fehler: "Das Blatt kann nicht gefunden werden"
Lösung: Überprüfe die Blattnamen im VBA-Code. Stelle sicher, dass die Namen exakt übereinstimmen.
-
Fehler: Druck wird nicht ausgeführt
Lösung: Stelle sicher, dass das Makro richtig zugewiesen wurde und dass Du die richtigen Berechtigungen für das Ausführen von Makros hast.
-
Fehler: Druckformat stimmt nicht
Lösung: Überprüfe die Seiteneinstellungen in Excel, um sicherzustellen, dass das Format (A4, A3 etc.) korrekt ist. Verwende ActiveSheet.PageSetup
für spezifische Anpassungen.
Alternative Methoden
-
VBA-Druck über Schaltflächen: Anstatt einen Button aus den Entwicklertools zu verwenden, kannst Du auch ActiveX-Steuerelemente nutzen. Diese bieten mehr Anpassungsmöglichkeiten.
-
Druckbereich definieren: Du kannst den Druckbereich für spezifische Blätter festlegen, bevor Du den Druckbefehl ausführst. Nutze dazu die Funktion ActiveSheet.PageSetup.PrintArea
.
-
Makrorekorder verwenden: Wenn Du dir unsicher bist, welchen VBA-Code Du verwenden sollst, kannst Du den Makrorekorder nutzen, um die Schritte aufzuzeichnen und den entsprechenden Code zu erhalten.
Praktische Beispiele
-
Drucken von zwei Blättern:
Sub DruckenBeispiel()
Sheets("Blatt1").PrintOut
Sheets("Blatt2").PrintOut
End Sub
-
Drucken mit zentriertem Layout:
Sub DruckenZentriert()
With ActiveSheet.PageSetup
.CenterHorizontally = True
.CenterVertically = True
End With
ActiveSheet.PrintOut
End Sub
-
Button für mehrere Blätter:
Sub ButtonDrucken()
Dim wsN As Worksheet
For Each wsN In ThisWorkbook.Worksheets
If wsN.Name Like "*x" Then
wsN.PrintOut
End If
Next wsN
End Sub
Tipps für Profis
-
Drucken mit Rückmeldung: Füge MsgBox
-Befehle hinzu, um Rückmeldungen über den Druckstatus zu erhalten.
-
Fehlerbehandlung implementieren: Verwende On Error Resume Next
, um Fehler abzufangen und zu dokumentieren.
-
Druckbereich dynamisch anpassen: Nutze VBA, um den Druckbereich je nach Inhalt automatisch anzupassen.
FAQ: Häufige Fragen
1. Wie kann ich einen Druck Button in Excel erstellen?
Du kannst einen Button aus den Entwicklertools einfügen und ein Makro zuweisen, das den Druckvorgang steuert.
2. Welche Excel-Versionen unterstützen VBA?
VBA ist in den meisten modernen Excel-Versionen verfügbar, einschließlich Excel 2010, 2013, 2016 und 2019.
3. Kann ich mehrere Blätter gleichzeitig drucken?
Ja, du kannst mehrere Blätter in einem VBA-Makro angeben, um sie in einem Durchgang zu drucken.
4. Wie kann ich die Druckeinstellungen anpassen?
Du kannst die Seiteneinstellungen im VBA-Code mit PageSetup
anpassen, um z.B. das Layout zu zentrieren.
5. Was ist der Unterschied zwischen Formular-Buttons und ActiveX-Buttons?
Formular-Buttons sind einfacher und schneller zu verwenden, während ActiveX-Buttons mehr Funktionen und Anpassungsmöglichkeiten bieten.