Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bereich drucken per VBA

Forumthread: Bereich drucken per VBA

Bereich drucken per VBA
27.05.2002 22:27:53
Daniele
Hallo liebe Leute

ich möchte in einem Makro einen gültigen Druckbereich festlegen, und zwar bis zum letzten Eintrag (Zeile) in TabelleX. Das Problem liegt darin dass es immer 244 Seiten drucken möchte obwohl nur eine 1/2 Seite voll ist, und ich kann mir nicht erklären warum. (wenn ich alle leeren Zeilen und Spalten lösche, geht es gut für einmal und dann wieder nicht mehr!). Also, wie kann man nur bis zur tatsächlich letzten Zeile (variabel) Drucken?

danke für eure hilfe
Gruß, Daniele

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Bereich drucken per VBA
27.05.2002 22:38:24
axel.meyer
Hi Daniele,

warum verwendest Du in Deinem Print-Befehl nicht einfach die Seitenzahl, die er drucken soll?

Gruß, Axel


Re: Bereich drucken per VBA
27.05.2002 22:45:14
Daniele
Hi Axel
hab auch schon daran gedacht, allerdings ist die Seitenzahl variabel (Datenbank-Einträge) und ich will den Bereich nicht ständig anpassen müssen.

Gruß, Daniele

Anzeige
Re: Bereich drucken per VBA
27.05.2002 22:53:11
axel.meyer
wie wäre es denn damit:
als erstes ermittelst du den umfang der datei, wieviele zellen beschrieben sind über

ActiveSheet.UsedRange.Select

dann kannst du erst mal den druckbereich festlegen über

ActiveSheet.PageSetup.PrintArea = "$A$1:$K$23"

und um variabel zu sein, kannst du die seitenumbrüche über diesen befehl festlegen

Set ActiveSheet.VPageBreaks(1).Location = Range("D1")
Set ActiveSheet.VPageBreaks(2).Location = Range("H1")
Set ActiveSheet.HPageBreaks(1).Location = Range("A42")
...

wo diese seitenumbrüche liegen sollen, kannst du dir ja auf basis von zellenanzahl ein mal festlegen und dann immer anwenden lassen.

nun?

Anzeige
Re: Bereich drucken per VBA
27.05.2002 23:17:58
Daniele
Hi

die Anweisung:
Set ActiveSheet.VPageBreaks(1).Location = Range("D1")
Set ActiveSheet.VPageBreaks(2).Location = Range("H1")
Set ActiveSheet.HPageBreaks(1).Location = Range("A42")

versteh ich nicht ganz (es kommt eine Fehlermeldung)

und ist es möglich anstatt "ActiveSheet" ein anderes Tabellenblatt zu definieren? das Makro soll nicht das aktive, sondern ein anderes Tabellenblatt drucken

daniele

Anzeige
Re: Bereich drucken per VBA
28.05.2002 00:31:49
Klaus Schubert
Hallo Daniele,

versuch's mal hiemit:

Tabellenname und die letzte zu druckende Spalte anpassen (Hier "Tabelle1" und Spalte "K"). Im Code LetzteZelle wird davon ausgegangen, dass sich in Spalte A bis zum Schluß Daten befinden, ansonsten anstatt der 1 (für Spalte A) eine andere Zahl (z.B. 3 für Spalte C) angeben.

Gruß Klaus

Anzeige
Re: Bereich drucken per VBA
28.05.2002 08:55:46
Daniele
Hi Klaus

funktioniert bestens
vielen Dank
Gruß Daniele

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Bereich drucken per VBA in Excel


Schritt-für-Schritt-Anleitung

  1. Den letzten Eintrag finden: Um den Druckbereich dynamisch festzulegen, ermittelst du zunächst die letzte verwendete Zeile in deiner Tabelle. Das kannst du mit folgendem VBA-Code tun:

    Dim letzteZeile As Long
    letzteZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
  2. Druckbereich festlegen: Nun kannst du den Druckbereich festlegen, indem du die ermittelte letzte Zeile in den Code einfügst:

    ActiveSheet.PageSetup.PrintArea = "$A$1:$K$" & letzteZeile
  3. Seitenumbrüche setzen: Um die Seitenumbrüche festzulegen, verwende den folgenden Code:

    Set ActiveSheet.VPageBreaks(1).Location = Range("D1")
    Set ActiveSheet.VPageBreaks(2).Location = Range("H1")
    Set ActiveSheet.HPageBreaks(1).Location = Range("A" & letzteZeile + 1)
  4. Drucken: Um das Dokument anschließend zu drucken, kannst du den Befehl ActiveSheet.PrintOut verwenden.


Häufige Fehler und Lösungen

  • Problem: Excel möchte zu viele Seiten drucken.

    • Lösung: Stelle sicher, dass du den Druckbereich korrekt festgelegt hast und keine leeren Zeilen oder Spalten in deinem Datenbereich vorhanden sind.
  • Problem: Fehlermeldung beim Setzen der Seitenumbrüche.

    • Lösung: Überprüfe, ob der angegebene Bereich tatsächlich existiert und ob du die richtigen Referenzen verwendest. Anstelle von ActiveSheet kannst du auch ein spezifisches Tabellenblatt angeben, z.B. Worksheets("Tabelle1").

Alternative Methoden

Eine alternative Methode zum Drucken eines Bereichs in Excel ist die Verwendung des Excel-Druckdialogs. Du kannst den gewünschten Bereich manuell auswählen und dann über Datei > Drucken den Druckbereich anpassen. Diese Methode ist jedoch weniger automatisiert und erfordert manuelle Eingriffe.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du den gesamten Bereich eines Tabellenblattes drucken kannst:

Sub BereichDrucken()
    Dim letzteZeile As Long
    letzteZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
    ActiveSheet.PageSetup.PrintArea = "$A$1:$K$" & letzteZeile
    ActiveSheet.PrintOut
End Sub

Wenn du ein bestimmtes Tabellenblatt drucken möchtest, kannst du den Code anpassen:

Sub SpezifischesBlattDrucken()
    Dim letzteZeile As Long
    With Worksheets("TabelleX")
        letzteZeile = .Cells(Rows.Count, 1).End(xlUp).Row
        .PageSetup.PrintArea = "$A$1:$K$" & letzteZeile
        .PrintOut
    End With
End Sub

Tipps für Profis

  • Nutze die UsedRange-Eigenschaft, um automatisch den verwendeten Bereich deiner Tabelle zu ermitteln.
  • Setze Variablen für wiederverwendbare Werte, um deinen Code sauber und effizient zu halten.
  • Teste dein Makro in einer Kopie deiner Arbeitsmappe, um unerwartete Änderungen zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich einen bestimmten Bereich drucken, ohne das aktive Blatt zu verwenden?
Du kannst das spezifische Blatt mit Worksheets("Tabellenname") ansprechen und deinen Druckbereich entsprechend festlegen.

2. Was kann ich tun, wenn Excel immer noch zu viele Seiten druckt?
Überprüfe, ob in deinem Datenbereich leere Zellen oder Zeilen vorhanden sind, die Excel als Teil des Druckbereichs interpretiert. Bereinige unnötige Daten, um den Druckbereich zu optimieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige