Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1352to1356
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Druckbereich mit vba definieren

Druckbereich mit vba definieren
02.04.2014 11:17:23
Lara
Hallo,
ich habe hier ein Problem mit dem Druckbereich, bei dem mir Google nicht weiterhelfen kann.
Ich habe eine Vorlage, in die bei Eingabe einer Nummer einen Haufen Daten aus einer Datenbank eingegeben werden.
Bevor die Daten sich einfüllen sind die Zeilen 1-49 auf Seite 1, und die Zeilen 50-70 auf Seite 2. Ich habe dank Herber einen vba Code, der die Zellen automatisch an die Textgröße anpasst.
Da fängt jetzt aber mein Problem an. Dadurch das die Zellen größer werden, passt in vielen Fällen die erste Seite nicht mehr auf ein Blatt, und ein Teil wandert auf die zweite Seite. Damit habe ich zwei Probleme:
1. Excel erschafft eine dritte Seite, die aber leer ist. Der Text wird die zwei Seiten nie überschreiten, daher sollen immer nur die ersten beiden Seiten gedruckt werden.
2. Die Zeilen 51 und 52 sollen auf Seite 2 immer oben stehen! Nicht in der Kopfzeile, die ist bereits belegt, und es handelt sich um eingerahmten Text, glaube also es wäre eh nicht möglich.
Also, ist es möglich mittels vba immer nur die ersten beiden Seiten zu drucken, und den überschüssigen Text von Seite 1 unter die Zeilen 51 52 auf die zweite Seite zu packen?
Ich bin dankbar für jeden Tipp und Vorschlag.
Gruß Lara

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Druckbereich mit vba definieren
02.04.2014 11:40:38
Frank
Hallo Lara,
ich habe das mal so gelöst.
Sub Druckbereich_festlegen()
Dim iColumn As Integer, iRowL As Integer, l As Integer
iRowL = Cells(Cells.Rows.Count, 1).End(xlUp).Row
iColumn = ActiveSheet.Cells(4, Columns.Count).End(xlToLeft).Column
ActiveSheet.PageSetup.PrintArea = Range(Cells(1, iColumn), Cells(iRowL, iColumn))
End Sub
Gruß
Frank

AW: Druckbereich mit vba definieren
02.04.2014 12:01:20
Lara
Hallo Frank,
woher soll das Programm wissen, dass die Zeilen 51 und 52 immer oben auf der zweiten Seite stehen sollen? Ich verstehe leider nicht so viel von Programmierung, dass ich das anpassen könnte.
Gruß Lara

Anzeige
AW: Druckbereich mit vba definieren
02.04.2014 12:07:27
Frank
Hallo Lara,
eine Beispieldate wäre sehr hilfreich.
Gruß
Frank

AW: Druckbereich mit vba definieren
02.04.2014 12:23:58
Lara
Hallo Frank,
ich kann die Datei leider nicht anhängen. Normalerweise hänge ich einfach ein vereinfachtes Problem an, da ich die echten Dateien nicht rausgeben darf, aber hier lässt sich glaube ich nichts vereinfachen.
Es ist eine Excel Datei, in die mittels hunderter Verweise Daten aus einer Datenbank in die Zellen A1 bis J70 eingegeben werden. Diese Zellen vergrößern sich mit dem Text automatisch zum Beispiel von einer auf vier Zeilen. Die Anzahl der beschriebenen Zellen bleibt dabei immer genau gleich (A1-J70).
Ich habe versucht, zumindest schonmal zu verhindern, dass Excel immer eine dritte Seite erstellt wenn die Zeilen größer werden mit den Code:
Sub Druckbereich()
With ActiveSheet.PageSetup.PrintArea = "$A$1:$J$70"
End With
End Sub
Ich habe den "Druckbereich" auf einen Button gelegt zum Testen, aber in der Druckvorschau wird nach wie vor die dritte Seite angezeigt.
Gruß Lara

Anzeige
AW: Druckbereich mit vba definieren
02.04.2014 12:39:33
Frank
Hallo Lara,
versuch es mal so.
With ActiveSheet
.PageSetup.FitToPagesWide = 1
.PageSetup.FitToPagesTall = 2
End With

Gruß
Frank

AW: Druckbereich mit vba definieren
02.04.2014 13:15:32
Lara
Nein :´-( auch nach Neustart passiert nichts. Ich weiß auch nicht, warum Excel meine Bemühungen einfach ignoriert.
Gruß Lara

AW: Druckbereich mit vba definieren
02.04.2014 13:29:54
Frank
Hallo Lara,
ohne Datei kann ich Dir da auch nicht weiterhelfen.
Gruß
Frank

AW: Druckbereich mit vba definieren
02.04.2014 13:30:21
Rudi
Hallo,
und die Zeilen 50-70 auf Seite 2
Die Zeilen 51 und 52 sollen auf Seite 2 immer oben stehen
das widerspricht sich.
Das wird sehr kompliziert.
Da das Blatt komplett aus Formeln gefüllt wird, musst du es kopieren, alle Formeln in Inhalte umwandeln, feststellen, wo der Seitenumbruch ist, die erste Seite drucken, alle Zeilen der 1.Seite löschen, die ursprünglichen Zeilen 51 und 52 an 1 und 2 schieben, das Blatt drucken und anschließend löschen.
Gruß
Rudi

Anzeige
AW: Druckbereich mit vba definieren
02.04.2014 13:37:34
Lara
Danke für eure Hilfe!
Mein Problem scheint nicht so leicht zu lösen zu sein wie ich vermutet hatte. :-) Ich werde mir mal Gedanken machen, was ich sonst tun kann.
Gruß Lara

9 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige