Druckbereich in Excel dynamisch festlegen
Schritt-für-Schritt-Anleitung
-
Öffne den VBA-Editor: Drücke Alt + F11
.
-
Finde das entsprechende Arbeitsblatt: Klicke im Projektfenster auf "Tabelle1" oder das Arbeitsblatt, das du verwenden möchtest.
-
Füge den Code ein: Kopiere den folgenden VBA-Code in das Code-Fenster:
Option Explicit
Dim letzteZeile As Long, letzteSpalte As Long
Sub druckbereichfestlegen()
letzteZeile = Cells.SpecialCells(xlCellTypeLastCell).Row
letzteSpalte = Cells.SpecialCells(xlCellTypeLastCell).Column
ActiveWorkbook.Names.Add Name:="Druckbereich", RefersToR1C1:=Range(Cells(1, 1), Cells(letzteZeile, letzteSpalte))
End Sub
-
Führe das Makro aus: Kehre zu Excel zurück und drücke Alt + F8
, wähle das Makro druckbereichfestlegen
aus und klicke auf "Ausführen".
-
Überprüfe den Druckbereich: Der Druckbereich sollte nun dynamisch an die Anzahl der Zeilen und Spalten deiner Liste angepasst werden.
Häufige Fehler und Lösungen
Alternative Methoden
Du kannst den dynamischen Druckbereich auch per Formel festlegen, ohne VBA zu verwenden. Hierzu kannst du die Funktion BEREICH.VERSCHIEBEN
in Kombination mit ANZAHL2
nutzen, um den Bereich dynamisch zu definieren. Allerdings ist dies weniger flexibel als die Verwendung von VBA.
Praktische Beispiele
Stell dir vor, deine Waren-Ausgangsliste hat 10 Einträge in Spalte A und 5 Spalten (A bis E). Der VBA-Code passt den Druckbereich automatisch an, sodass nur die 10 Zeilen und 5 Spalten gedruckt werden. Wenn du neue Einträge hinzufügst, musst du das Makro nur erneut ausführen und der Druckbereich wird entsprechend aktualisiert.
Tipps für Profis
- Kombiniere das Makro zum dynamischen Festlegen des Druckbereichs mit einer Sortierfunktion. Du kannst den Code erweitern, um die Daten vor dem Drucken automatisch aufsteigend zu sortieren.
- Verwende
Application.PrintOut
am Ende deines Makros, um den Druckvorgang direkt auszulösen, sodass du nicht manuell drucken musst.
FAQ: Häufige Fragen
1. Kann ich den Druckbereich auch für mehrere Blätter gleichzeitig festlegen?
Ja, du müsstest den Code anpassen, um durch die Blätter zu iterieren.
2. Wie kann ich die Sortierung in das Makro integrieren?
Du kannst den Code für das Sortieren direkt nach dem Festlegen des Druckbereichs hinzufügen. Nutze Range("B1:O" & letzteZeile).Sort
und passe die Parameter an, um die gewünschten Spalten zu sortieren.
3. Muss ich das Makro jedes Mal ausführen, wenn ich die Liste ändere?
Ja, um sicherzustellen, dass der Druckbereich immer aktuell ist, solltest du das Makro nach jeder Änderung der Daten ausführen.