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

PageSetup

PageSetup
Peter
Hallo xls Profis,
habe ein VBA Problem und hoffe auf eine gute Idee:
Ich möchte sowohl gesteuerte Seitenumbrüche in einer Tabelle haben und andererseits PageSetup dazu bringen in der Breite nur eine Seite zu drucken. Sobald ich den Parameter PageSetup.Zoom auf false stelle, sind meine Seitenumbrüche futsch. Hat jemand eine Idee?
Seitenumbruch habe ich mit : ActiveWindow.ActiveSheet.HPageBreaks.Add before:=ActiveCell
gelöst,
der PageSetup sieht folgendermaßen aus:
With ActiveSheet.PageSetup
.FitToPagesWide = 1
.FitToPagesTall = False
.Orientation = xlLandscape
.Zoom = False
End With
Vielen Dank im Voraus!

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: PageSetup
Christoph
Hi Peter,
stelle "Zoom=False" vor die "FitToPage-Anweisungen"
Gruß
Christoph
geht leider nicht
Peter
Hallo Christoph,
das funktioniert leider nicht, da durch das Ausschalten der Zoom- Funktion jeglicher manueller Seitenumbruch verhindert wird. Eine Möglichkeit wäre, wenn ich den Wer des Zoomens ermitteln könnte indem ich diese Funktion erst ausschalte (in der Ansicht Seitenlayout wird der Wert ermittelt) und anschließend mit dem ermittelten Wert einschalte, dann geht's
Hast Du (oder jemand anders) noch eine Idee?
trotzdem danke
anders rum wird ein Schuh draus
29.04.2004 15:47:19
Christoph
Hi Peter,
zeichne dir die Aktionen doch mal auf.
wenn du zuerst deine Seite einrichtest mit:
With ActiveSheet.PageSetup
.Zoom = False
.FitToGagesWide = 1
.Fit To PagesTall = False
End With
und anschließend deine Seitenumbrüche einstellst zB mit:
Set ActiveSheet.HPageBrakes(1).Location = Range("A18")
klappt das bei mir fehlerfrei und zwar genau durch das Ausschalten der Zoom-Funktion.
(ich hab dies unter XP getestet - kann mir aber nicht vorstellen, dass das in 2003 anders sein soll)
Gruß
Christoph
Anzeige
AW: PageSetup
was
Hallo Christoph,
erst mal vielen Dank für die Hinweise, aber ich stehe noch etwas auf dem Schlauch. Folgende Anweisung bricht mir dauernd ab:
dim n as long
dim xx as integer
Set ActiveSheet.HPageBreak(xx + 1).Location = Range("A" & n)
was mache ich falsch?
AW: PageSetup
Christoph
Hi Peter,
da kann ich mir so wenig vorstellen außer:
gibt es denn xx+1 Seitenumbrüche? - sonst musst du diese natürlich erst erzeigen über:
HPageBreaks.Add Before:=...
hast du dem "n" einen Wert zugewiesen? - Range("A0") führt unweigerlich zu einem Fehler.
Meine Empfehlung: Zeichne dir die Schritte mit dem Recorder auf - ich mach das auch nicht anders, da ich nicht ständig alle Befehle im Kopf habe - da erkennst du recht schnell, wo was passieren muss und passe diesen "schrecklichen" Recorder-Code anschließend an deine Bedürfnisse an.
Gruß
Christoph
Anzeige
AW: PageSetup
Peter
Hi Christoph, schön das du noch online bist.
also, erst einmal muß ich meine angegebene Version revidieren, ich habe xls97 im Einsatz.
Ich habe das im Prinzip auch so wie du beschrieben hast gemacht (Recorder und so), dabei festgestellt, dass zoom = false meine mühsam erzeugten Seitenumbrüche löscht. Der Befehl wird ignoriert wenn zoom = false.
in meiner ersten Beschreibung habe ich ja auch mit dem "dialogbefehl" gearbeitet und nicht mit set. Vielleicht verstehe ich den set in diesem fall auch nicht (die doku ist an dieser stelle etwas schwach).
auf ein neues
Gruß
Peter
Anzeige
AW: PageSetup XL97
Christoph
Hi Peter...
tja...zu 97 kann ich leider nicht viel sagen, da ich selbst kein 97 mehr installiert habe.
Aber eindeutig ist, dass du entweder Zoom = 100 oder was auch immer einstellen kannst oder du stellt das Teil auf Zoom = False und nur dann hast du die Möglichkeit anzugeben, wieviele Seiten Breit und wieviele Seiten hoch. (ganz genauso wie unter Datei - Seite einrichten vorgegeben.
also: starte den Recorder - gehe auf Ansicht /Seitenumbruchvorschau - verschiebe mal den eine oder anderen Seitenumbruch und schau dir anschließend an, was der Recorder so aufgezeichnet hat.
Unter XP heißt der Befehl:
Set ActiveSheet.HPageBreaks(1).Location = Range("A18")
weiter kann ich dir an der Stelle leider auch nicht helfen.
Gruß
Christoph
Anzeige
vielen Dank für Deine Bemühungen
Peter
.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige