Auswahl drucken in Excel mit VBA
Schritt-für-Schritt-Anleitung
Um einen festgelegten Druckbereich in Excel per VBA zu drucken, folge diesen Schritten:
-
Öffne Excel und lade die Arbeitsmappe, in der du den Druckbereich festlegen möchtest.
-
Öffne den VBA-Editor durch Drücken von ALT + F11
.
-
Füge ein neues Modul hinzu:
- Klicke im Menü auf
Einfügen
und wähle Modul
.
-
Füge den folgenden Code ein:
Sub AuswahlDrucken()
ActiveSheet.PageSetup.PrintArea = "$AG$7:$BI$40"
Selection.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
End Sub
-
Schließe den VBA-Editor und gehe zurück zu Excel.
-
Führe das Makro aus, indem du ALT + F8
drückst, das Makro auswählst und auf Ausführen
klickst.
Dieser Code stellt sicher, dass der definierte Druckbereich ausgedruckt wird. Achte darauf, dass der Druckbereich richtig eingestellt ist, bevor du das Makro ausführst.
Häufige Fehler und Lösungen
-
Fehler: Der Druckbereich wird nicht korrekt festgelegt.
- Lösung: Stelle sicher, dass die Zeilen
$AG$7:$BI$40
existieren und richtig angegeben sind.
-
Fehler: Das Makro druckt nicht die Auswahl, sondern die gesamte Seite.
- Lösung: Überprüfe, ob du die richtige Auswahl getroffen hast, bevor du das Makro ausführst.
-
Fehler: Die Druckvorschau zeigt nichts an.
- Lösung: Stelle sicher, dass das
PrintArea
korrekt eingestellt ist und der Selection.PrintOut
Befehl richtig verwendet wird.
Alternative Methoden
Wenn du kein VBA verwenden möchtest, kannst du die Auswahl auch manuell drucken. Gehe dazu wie folgt vor:
- Markiere die Zellen, die du drucken möchtest.
- Gehe zu Datei > Drucken.
- Wähle unter den Druckoptionen Auswahl drucken aus.
- Klicke auf das Drucksymbol, um die Auswahl zu drucken.
Diese Methode ist einfach und benötigt keine Programmierkenntnisse, ist jedoch weniger automatisiert als die VBA-Lösung.
Praktische Beispiele
Hier sind einige Beispiele, wie du den Druckbereich anpassen kannst:
-
Um einen anderen Bereich zu drucken, ändere den Code wie folgt:
ActiveSheet.PageSetup.PrintArea = "$A$1:$D$20"
-
Wenn du mehrere Kopien drucken möchtest, passe den Copies
-Parameter an:
Selection.PrintOut Copies:=3, Collate:=True, IgnorePrintAreas:=False
Diese Anpassungen helfen dir dabei, verschiedene Druckanforderungen zu erfüllen.
Tipps für Profis
-
Verwende Variablen: Statt feste Zellreferenzen zu verwenden, kannst du Variablen einsetzen, um den Druckbereich dynamisch anzupassen.
-
Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen in deinem VBA-Code, um auf Probleme beim Drucken zu reagieren.
-
Druckeinstellungen anpassen: Nutze die PageSetup
-Optionen, um Seitenränder, Ausrichtung und andere Druckeinstellungen zu optimieren.
FAQ: Häufige Fragen
1. Kann ich den Druckbereich dynamisch festlegen?
Ja, du kannst den Druckbereich dynamisch festlegen, indem du Zellreferenzen in Variablen speicherst und diese im Code verwendest.
2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der Code sollte in den meisten aktuellen Excel-Versionen funktionieren, die VBA unterstützen, einschließlich Excel 2016 und neuer.
3. Was ist der Unterschied zwischen Selection.PrintOut
und ActiveSheet.PrintOut
?
Selection.PrintOut
druckt nur die aktuell ausgewählten Zellen, während ActiveSheet.PrintOut
das gesamte aktive Blatt druckt, unabhängig von der Auswahl.