Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
152to156
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
152to156
152to156
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wie automatische Pagebreaks aktualisieren?

Wie automatische Pagebreaks aktualisieren?
03.09.2002 13:25:18
Matthias Ziegs
Es geht um's Ausdrucken von mehrtausendzeiligen Worksheets, deren Daten doppelzeilig formatiert sind, sprich: zwei Excel-Zeilen ergeben eine inhaltlich zusammengehörende Zeile, teilweise mit doppelzeilig verbundenen Zellen.

Problem: beim Ausdrucken fügt Excel mitten in verbundenen Zellen automatische Seitenumbrüche ein.
Ziel: nur an geraden Zeilennummern soll umgebrochen werden.

Ich stelle also .FitToPagesWide = 1 usw. per .PageSetup-Parameter ein und kann mir dann per .PrintPreview das Elend ankucken, wie aber kann ich's beeinflussen?

Eine der drei folgenden Sachen würde mir helfen:

1. automatische Seitenumbrüche in verbundenen Zellen verbieten (scheint nicht möglich zu sein, wow)

2. Liste der automatischen Seitenumbrüche (HPageBreaks) beeinflussen / löschen und STATTDESSEN nur meine eigenen manuellen zu setzen, und zwar ohne die automatische Neuberechnung vor dem Drucken, die mir ja alles wieder überschreiben würde (nix davon scheint möglich zu sein)

3. da 1. und 2. wohl nicht geht müßte ich also per BruteForce mein Dokument selbst anpassen, bis die automatisch erzeugten HPageBreaks nur noch an geraden Zeilen umbrechen, ich ich könnte z.B. eine unwichtige Spalte solange verbreitern bis es paßt, Problem: wie kann ich die Neuberechnung der HPageBreaks erzwingen, um auf meine Änderung zu reagieren, das muß doch auch ohne aufrufen des PrintPreview-Dialogs gehen?

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Wie automatische Pagebreaks aktualisieren?
03.09.2002 14:03:03
JürgenR
Hi Matthias,

als Gedankenansatz:

Gruß
Jürgen

Re: Wie automatische Pagebreaks aktualisieren?
03.09.2002 15:07:57
Matthias Ziegs
In dem Moment wo man einen Pagebreak manuell einfügt so wie du vorgeschlagen hast werden alle nachfolgenden gekickt, sprich der Count ändert sich und deine Schleife explodiert :)

Aber all diese Spielerchen hab ich schon durch, das nützt alles nix, aus dem einfachen Grund, daß man die automatischen Pagebreaks nicht beeinflussen kann. Du fügst dann auf Zeile 70 einen manuellen ein, was aber nix daran ändert, da der automatische auf Zeile 71 immer noch dasteht, auf dem Blatt würde also eine einzige Zeile ausgedruckt werden.

Aber ich glaube ich hab 'ne Lösung auf www.experts-exchange.com gefunden, und zwar muß man die automatische Breitenanpassung im Pagesetup abschalten, weil sonst Excel immer seine automatischen Pagebreaks einfügt. Ich werd das checken und wenns funzt meine Lösung hier posten.

Anzeige
Re: Wie automatische Pagebreaks aktualisieren?
03.09.2002 17:17:37
Matthias Ziegs
Jürgen, vielen Dank für deine Bemühungen, aber ich geb das jetzt auf, muß man die ausgedruckten Blätter halt aneinanderlegen, Excel ist einfach stärker als ich :(

Folgendes wollte ich nun machen:

With ActiveSheet.PageSetup

.PrintArea = Cells(Saldo.y, Saldo.x).Address + ":" + Cells(Endzeile.y, Konto.x).Address
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = False
'Blatt wird auf Breite angepaßt, Zoom steht auf false, klar

Umbruch = ActiveSheet.HPageBreaks(1).Location.Row 'if .count > 0 wegen Vereinfachung hier weggelassen
If Umbruch Mod 2 <> 0 Then Umbruch = Umbruch - 1 'Anpassung an gerade Zeilennummer

.FitToPagesWide = False 'damit Excel keine automatischen Umbrüche mehr einfügt
'leider wird der vorher vom Excel berechnete Zoomfaktor nicht beibehalten
'und das .zoom vorher auslesen um ihn nun manuell zu setzen geht nicht, weil er nur "false" liefert anstatt der Zahl

ActiveSheet.ResetAllPageBreaks
'nun könnte ich den zoom hart reinschreiben, den Excel vorher gefunden hatte
'und meine manuellen Umbrüche aller Zeilen setzen

'ich sehe die berechnete Zoom-Zahl im Dialog, aber komme programmiertechnisch nicht ran,
'es liefert nach wie vor nur "false", arrghh

End With



Anzeige
Re: Wie automatische Pagebreaks aktualisieren?
03.09.2002 17:23:45
Matthias Ziegs
sorry, HTML Code weggeparsed, sollte heißen:
'und meine manuellen Umbrüche aller [Umbruch] Zeilen setzen
Re: Wie automatische Pagebreaks aktualisieren?
03.09.2002 18:43:15
Matthias Ziegs
Ohne Worte :)

http://www.experts-exchange.com/Programming/Programming_Languages/Visual_Basic/Q_20318865.html

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige