Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Druckbereich unterteilen

Forumthread: Druckbereich unterteilen

Druckbereich unterteilen
01.04.2025 12:32:25
Udo
Hallo Forum,
ich habe 20 Blätter für Kabelwege und 10 Blätter für Lichtmasten, dazu ein Anschlussblatt und vier Seiten Legende. Alle Seiten untereinander.
Nun möchte ich immer die Legende und den Anschluss drucken, von den Kabelwegen und den Lichtmasten aber nur die, die auch ausgefüllt sind.
Sowohl Lichtmasten, als auch Kabelwege sind Formblätter, also nicht leere Zeilen. Durch die Tabellenkalkulation werden dann noch weitere Einträge in die Blätter vorgenommen. Nur wenn die Einträge vorhanden sind, sollen die Blätter auch gedruckt werden.

Ich kann durch IF-Abfragen selektieren was gedruckt werden soll, dann habe ich aber einen Druckbereich von Seite 1 bis Seite 4, und Seite 5, und Seite 6 bis bsw. Seite 9, und Seite 15 bis bsw. Seite 19.

Kann man den Druckbereich so unterteilt festlegen ?
Achso, das ganze soll dann auch noch als >ein PDF gedruckt werden

Bin gespannt auf Eure Vorschläge
Gruß Udo
Anzeige

23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Druckbereich unterteilen
01.04.2025 12:36:28
Oberschlumpf
Moin Udo,

und ich bin gespannt, ob du uns per Upload eine Bsp-Datei mit genügend Blättern und genügend Bsp-Daten in einigen Blättern zeigst, oder ob wir wirklich raten sollen, in welchen Blättern Daten enthalten sind oder nicht. :-)

Ciao
Thorsten
AW: Druckbereich unterteilen
01.04.2025 14:42:04
UweD
Hallo


Habe mir deine Datei nicht angesehen...
Meine Annahmen
- zu Druckender Bereich soll A:C sein
- in Spalte D steht, wie auch immer, z.B. per Formel, ob das Blatt gedruckt werden soll.
- dabei ist mir egal, in welcher Zeile das steht

Das hier in ein Modul und vor dem Druck aufrufen.
Die Blattgrenzen kannst du in dem Array festlegen.
Sub Druckbereich2()

Dim RNG As Range, ArrRNG(), i As Integer, Bereich As String

Set RNG = Range("A:C") 'zu druckende Spalten

ArrRNG = Array("D1:D50", "D51:D100", "D101:D150") 'Prüfbereiche zur Seitenwahl

With ActiveSheet.PageSetup
'Reset
.PrintArea = ""
Bereich = ""

For i = LBound(ArrRNG) To UBound(ArrRNG)
If WorksheetFunction.CountA(Range(ArrRNG(i))) > 0 Then 'Steht was in Spalte D in den Blattgrenzen
Bereich = Bereich & "," & Intersect(RNG, Range(ArrRNG(i)).EntireRow).Address
End If
Next
.PrintArea = Mid(Bereich, 2) 'erste Komma weg
End With
End Sub


LG UweD
Anzeige
AW: Druckbereich unterteilen
01.04.2025 15:14:41
Udo
Hallo UweD,
habe Dein Makro mal ausprobiert, dabei aber die ArrRNG = Array("A281:A348", "A349:A414", "A415:A481", "A482:A548", "A549:A615", "A616:A682") mal erweitert.
In Seite 1 bis 4 sind Einträge, Seite 5 und 6 nicht, Dein Makro hat sie aber zum Druckbereich dazugefügt.
Muss ich noch mehr anpassen ?
Anzeige
AW: Druckbereich unterteilen
01.04.2025 16:36:34
UweD
Hallo

- Bei mir war Spalte D außerhalb des Druckbereichs
- Der Code suchte nun die SCHNITTMENGE VON A:C und den entsprechenden Zeilen

Hast du das bei dir angepasst?

LG UweD
AW: Druckbereich unterteilen
01.04.2025 17:27:51
UweD
Ich habe mir deine Datei nun doch mal angesehen

Druckspalten wären demnach A:AX

Du möchtest A als Spalte verwenden, ob die Seite gedruckt werden soll oder nicht

Bei dir steht in A nur das hier:
Arbeitsblatt mit dem Namen 'Ausgabe an Kunde Multi'
 ABCDE
37Leistungs No    
38 
39122021700000
40122021900000
41122020100000
42122020300000
43122022300000
44122022500000


Also 1x Überschrift und 6 Zeilen mit Daten

Soll also die Seite gedruckt werden, wenn unter der Überschrift was eingetragen ist?




Ich hab deinen Bereich A1:AX68 jetzt mal nach A70 und A139 kopiert (Es sind also jetzt 3 Seiten)
Bei einer Seite habe ich die Einträge bei Leistungsnummer gelöscht (Es bleibt nur noch die Überschrift in Spalte A)

Unter den Voraussetzungen sieht der Code so aus.

Sub Drucken()

Dim RNG As Range, ArrRNG(), i As Integer, Bereich As String, Vorgabe As String, Datei As String

Set RNG = Range("A:AX") 'zu druckende Spalten

ArrRNG = Array("A1:A68", "A70:A137", "A139:A206") 'Prüfbereiche zur Seitenwahl

With ActiveSheet.PageSetup
'Reset
.PrintArea = ""
Bereich = ""

For i = LBound(ArrRNG) To UBound(ArrRNG)
If WorksheetFunction.CountA(Range(ArrRNG(i))) > 1 Then 'Steht was in Spalte A? Ausser der Überschrift
Bereich = Bereich & "," & Intersect(RNG, Range(ArrRNG(i)).EntireRow).Address
End If
Next
.PrintArea = Mid(Bereich, 2) 'erste Komma weg
End With

'Drucken
Vorgabe = Replace(ThisWorkbook.FullName, "xlsm", "pdf")
Datei = InputBox("Speichern unter", "Dateiname", Vorgabe)

If Datei > "" Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Datei, IgnorePrintAreas:=False, OpenAfterPublish:=True
End If
End Sub



Es wird also nun geprüft, ob auf dem Blatt mehr als 1 Eintrag vorhanden ist


LG UweD
Anzeige
AW: Druckbereich unterteilen
02.04.2025 09:39:45
Udo
an UweD:
kann ich bei ArrRNG = Array("A1:A68", "A70:A137", "A139:A206") den Bereich der abgefragt wird noch eingrenzen, so das nur die tatsächlichen Zeilen abgefragt werden wo mögliche Einträge sind ?
AW: Druckbereich unterteilen
02.04.2025 14:42:11
UweD
Hallo nochmal

Ich hab es jetzt in 2 Arrays getrennt

Die Anzahl muss dabei gleich sein

ArrBlatt gibt dabei die Blattgrenzen an
ArrSuch ist die Zelle, die das Blatt steuert

Im Beispiel soll da ein x stehen


Sub Drucken()

Dim ArrSuch, ArrBlatt, i As Integer, Bereich As String, Vorgabe As String, Datei As String, SW As String

SW = "x" 'Suchwort

ArrBlatt = Array("A1:AX68", "A70:AX137", "A139:AX206")
ArrSuch = Array("L8", "AQ87", "A157") 'Prüfbereiche zur Seitenwahl
'Gleiche Anzahl an Einträgen


With ActiveSheet.PageSetup
'Reset
.PrintArea = ""
Bereich = ""

For i = LBound(ArrBlatt) To UBound(ArrBlatt)
If Range(ArrSuch(i)) = SW Then
Bereich = Bereich & "," & ArrBlatt(i)
End If
Next
.PrintArea = Mid(Bereich, 2) 'erste Komma weg

'Drucken
If .PrintArea > "" Then
Vorgabe = Replace(ThisWorkbook.FullName, "xlsm", "pdf")
Datei = InputBox("Speichern unter", "Dateiname", Vorgabe)

If Datei > "" Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Datei, IgnorePrintAreas:=False, OpenAfterPublish:=True
End If
End If
End With
End Sub


LG UweD
Anzeige
AW: Druckbereich unterteilen
01.04.2025 12:43:05
Udo
Thorsten, die Datei mit der alles berechnet wird ist über 14MB groß ich kann versuchen die Ausgabe Seite hier einzustellen, aber versprechen tue ich nichts, moment bitte
AW: Druckbereich unterteilen
01.04.2025 13:11:33
Udo
Habe die Datei nun hochgeladen, da es aber die
Platzbegrenzung gibt, ist es nur eine Seite geworden, die Datei heisst nun 176527.xlsx
Durch die Begrenzung war es mir nicht möglich, mehr zu senden, aber im Prinzip steht diese Tabelle 30 mal untereinander, im oberen Teil jeweils eine Grafik und darunter die
Auflistung, Auswahlkriterium ist immer die erste Zeile der Auflistung Spalte A, nur wenn hier ein Eintrag ist soll das Blatt gedruckt werden
Anzeige
AW: Druckbereich unterteilen
01.04.2025 13:14:19
Oberschlumpf
siehe meine andere Antwort und zeig uns beim nächsten Upload bitte den vollständigen! Pfad zur Bsp-Datei
AW: Druckbereich unterteilen
01.04.2025 13:20:31
Udo
Nun verstehe ich Bahnhof, ich habe logos und alles unsinnige aus der Seite gelöscht, damit sie mit dem 600kb klar kommt. Sie ist vollständig, nur das sie circa 30 mal untereinander eingefügt werden muss, das ausfüllen der Zeilen und erstellen der Grafiken übernimmt das Excelprogramm.
Am Ende einer Bearbeitung werden diese Seite mit Daten versehen, aber eben nur so viele, wie unterschiedliche Masten sind und sowviele wie Kabelwege erstellt werden müssen
Anzeige
bitte wer anders
01.04.2025 13:28:25
Oberschlumpf
Hi,

DAS HIER ist der vollständige Pfad zu deiner Bsp-Datei!
https://www.herber.de/bbs/user/176527.xlsx

Und ich kann leider nicht weiterhelfen, denn die Bsp-Datei von dir zeigt - nicht das - was du in deinen Texten beschreibst.
Ich wünsch dir weiter viel Erfolg!

Ciao
Thorsten
Anzeige
AW: bitte wer anders
01.04.2025 13:38:13
Udo
die Beispiel Datei zeigt ein Ausgabeblatt, in der tatsächlichen Datei sind 30 solcher Blätter untereinander, Excel fügt die Grafiken ein und füllt die Zeilen aus, Blatt für Blatt.
Wenn ich 4 verschiedene Lichtmasten habe gibt es 4 ausgefüllte Blätter Lichtmasten, wenn ich 12 Kabelwege habe füllt Excel 12 Blätter aus.
Mir geht es darum nur die Ausgefüllten Blätter in die PDF zu drucken, dabei müssen NICHT ausgefüllte Blätter weggelassen werden, also Blatt 1bis 4, 'Blatt 5 bis 10 überspringen und dann Blatt 11 bis 23 anfügen, 24 bis 30 wieder auslassen.
Ich suche eigentlich nach einem Weg, den Druckbereich zu unterteilen, Zeile 1 bis 390 und dann Zeile 750 bis 1600 zu einem Druckbereich zusammen fügen.
Kann man den Druckbereich selektieren ?
Anzeige
AW: bitte wer anders
01.04.2025 13:48:51
Oberschlumpf
hi

du schreibst: "also Blatt 1bis 4, 'Blatt 5 bis 10 überspringen und dann Blatt 11 bis 23 anfügen, 24 bis 30 wieder auslassen. "

aber deine Bsp-Datei enthält ganz genau nur EIN Blatt!
DAS meinte ich mit: "deine Datei entspricht NICHT deinen Beschreibungen"

Ciao
ich
Anzeige
AW: bitte wer anders
01.04.2025 14:14:44
daniel
Hi
so wie ich das lese, würde ich so vorgehen:
füge eine Hilfsspalte hinzu, diese sollte außerhalb des Druckbereichs liegen

in diese Hilfspalte fügst du eine Formel ein, die das ganze Blatt kennzeichnet, ob es ausgeblendet werden soll oder nicht.

also als Beispiel, wenn das Blatt von Zeile 100 bis Zeile 200 geht und gedruckt werden soll, wenn in A123 ein Wert steht, dann kommt in die Zellen X100-X200 (Hilfsspalte) die Formel: =Wenn(A$123="";"";"x")
das machst du dann für jedes Blatt.
vor dem Druck filterst du dann in der Hilfsspalte mit dem Autofilter nach "x" und blendest damit die nicht benötigten Seiten aus.

Gruß Daniel
Anzeige
AW: bitte wer anders
01.04.2025 14:22:24
Udo
Daniel, danke für den Hinweis, das werde ich sofort ausprobieren, melde mich dann wieder
AW: bitte wer anders
01.04.2025 14:32:33
Udo
Ich Schlaumeier, werde es ausprobieren, ja ja
Ich habe aber keine Ahnung, wie das mit dem Autofilter überhaupt geht, das mit dem x in extra Spalte einfügen habe ich schon geschafft, aber wie nun weiter ? ? ?
AW: bitte wer anders
01.04.2025 14:58:45
daniel
muss ich jemanden mit Excel - gut den Autofilter erklären?
Anzeige
AW: bitte wer anders
01.04.2025 15:17:36
Udo
Daniel, ja ich arbeite mit Formeln, lasse Excel für mich Zeichnungen per Makro erstellen, aber ganz ehrlich von Autofilter höre bzw. lese ich heute das erste mal.
Keine Sorge, werde schon was im Netz darüber finden
AW: bitte wer anders
01.04.2025 15:31:59
daniel
das ist das Ding, dass du findest unter DATEN - SORTIEREN UND FILTERN - FILTERN, der große Button mit dem Trichter.

markier die Hilfsspalte, aktiviere den Autofilter
dann erscheint in der ersten Zeile (Überschrift) rechts ein kleiner DropDown.
Wenn du auf den klickst, kannst du auswählen, welche Zeilen gemäß ihrem Inhalt in dieser Spalte angezeigt werden sollen.
die anderen Zeilen werden ausgeblendet und dementsprechend dann auch nicht gedruckt oder sonst wie bearbeitet.

Gruß Daniel
Anzeige
AW: bitte wer anders
01.04.2025 14:02:39
Udo
Meine Beispiel Datei ist 444kb groß, bei 600kb Max-Größe für Dateiupload bekomme ich noch nicht mal zwei Seiten hochgeladen.
Du wolltest eine Beispieldatei, habe ich hochgeladen mit dem Hinweis, das dieses Blatt 30 mal untereinander kopiert werden müsste um der tatsächlichen Blattgröße zu entsprechen.
Noch einmal, Excel füllt diese 30 Blätter aus, wenn alle Blätter genutzt werden habe somit 2358 Zeilen Druckbereich, wenn ich aber nicht alle Masten verwende und nur 12 Kabelwege habe, sind da jede Menge Zeilen überflüssig und die möchte ich aus dem Druckbereich ausklammern
Anzeige
AW: bitte wer anders
01.04.2025 14:08:44
Udo
um es noch mal klarzustellen ich habe ein Excelblatt mit 2358 Zeilen, von denen ich habe selektieren möchte welche gedruckt werden sollen. Zum Beispiel Zeile 1 bis Zeile 450 und dann wieder Zeile 1200 bis Zeile 1260 und weiter mit Zeile 2100 bis 2320, das soll im Ausdruck dann ohne leere Zwischenräume erscheinen.

Ich meine, eigentlich benötigt man die Beispieldatei nicht um zu verstehen worum es geht, ich möchte einfach selektieren was gedruckt werden soll
Anzeige
STOPP! - AW: Druckbereich unterteilen
01.04.2025 13:13:28
Oberschlumpf
Hi Udo,

du sollst uns bitte nicht die ganze (Oiginal)Datei zeigen - ich bat dich doch um eine Beispiel-Datei.

Und in der Bsp-Datei würde es vllt reichen, wenn diese...
...das Blatt für Anschlussblatt enthält, weil das soll ja immer bei Ausdruck + PDF enthalten sein
...die 4 Seiten Legende enthält, weil auch die immer in Ausdruck + PDF enthalten sein sollen
...3 Blätter für Kabelwege, mindestens 1 Blatt ohne Bsp-Daten, weil DAS dann ja nicht mit in Ausdruck + PDF enthalten sein soll
...3 Blätter für Lichtmasten, mindestens 1 Blatt ohne Bsp-Daten, weil DAS dann ja nicht mit in Ausdruck + PDF enthalten sein soll

Und alle enthaltenen Daten müssen natürlich Bsp-Daten sein.

Und ich glaube, eine Datei mit insges. 11 Blättern wird nicht größer als ca 600kb sein (hier Maximum für Upload) - wenn doch, dann die Bsp-Datei mit z Bsp 7ZIP in eine Archiv-Datei (*.zip) komprimieren.
Und dann die ZIP-Datei hier uploaden.

So, mehr Tipps fallen mir nicht mehr ein, um dir beim Umgang dieses Forums helfen zu können.

Ciao
Thorsten
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18