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

Seitenumbruch für ein Formular

Seitenumbruch für ein Formular
21.03.2006 12:54:39
Peter
Hallo mal an die Excel-Profis,
Ich habe eine Tabelle in Excel, die ich als Druckformular einsetzen möchte. Es funktioniert auch (fast) alles schon zufriedenstellend:
Ab Zeile 11 bis Zeile 64 habe ich, falls belegt, unterschiedlichste Zeilenhöhen (ca von Zeilenhöhe 12,75 bis 75). Mit dem Code "ActiveSheet.Rows.AutoFit" lasse ich die Zeilenhöhen auf den Inhalt anpassen. Dies passt. Sind im angegebenen Bereich Zeilen ohne Inhalt werden diese ausgeblendet und damit auch nicht ausgedruckt. Auch das passt bestens.
Jedoch:
Von Zeile 65 bis inklusive Zeile 92 kommt ein Block, der aus optischen Gründen nicht durch einen Seitenumbruch auseinandergerissen werden soll. Egal wie hoch die Zeilen darüber, oder wieviele Seiten vorher gebraucht werden. Wie kann ich dieses Problem lösen?
Ich würde mich sehr über geeignete Hilfe freuen.
Peter S.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Seitenumbruch für ein Formular
21.03.2006 13:38:39
Franz
Hallo Peter,
die einfachste Möglichkeit:
Setze in Zeile 65 einen manuellen Seitenwechsel. Dann werden Zeilen 65 bis 92 immer auf der 2. bzw. letzten Seite gedruckt.
Die komplizierte Möglichkeit:
Per Makro überprüfst Du, ob innerhalb der Zeilen 62 bis 92 ein automatische Seitenwechsel vorhanden ist. Falls ja, dann in Zeile 65 einen manuellen Seitenwechsel einfügen.

Sub SeitenwechselPruefen()
Dim wks1 As Worksheet, Reihe As Integer
Set wks1 = ActiveSheet
With wks1
'Entfernen eines ggf. vorhandene Seitenwechsels in Reihe 65
If .Rows(65).PageBreak = xlPageBreakManual then
.Rows(65).PageBreak = xlPagebreakNone
endif
'Seitenumbruch in Zeilen 95 bis 65 überprüfen
For Reihe = 65 To 92
If .Rows(Reihe).PageBreak = xlPageBreakAutomatic Then
.Rows(65).PageBreak = xlPageBreakManual
Exit For
End If
Next Reihe
End With
End Sub

Gruß
Franz
Anzeige
Hallo Franz---Funktioniert Bestens---Vielen Dank
21.03.2006 14:13:36
Peter
.
Erweiterung der Frage: Seitenumbruch
21.03.2006 21:06:05
Peter
Hallo Franz, Hallo an Alle,
die Lösung von Franz geht schon sehr nahe an das was ich mir vorgestellt habe, allerdings bin ich dann noch auf eine Bedingung gestossen, die bisher nicht bedacht wurde:
Es kann jetzt passieren, dass in Seite 2 (oder auch folgenden) gerade noch 1 oder 2 Zeilen belegt werden und das "Endpaket" (also der Inhalt meiner Zeilen 65 bis 92), aufgrund des Codes dann natürlich wieder auf eine eigene Seite geschoben werden, obwohl auf der DIN-A-4 Seite (Hochformat) eigentlich noch genug Platz wäre.
Gibt es die Möglichkeit abzuprüfen, ob der Inhalt der Zeilen 65 bis 92 (Diese Zeilen haben feste Zeilenhöhe)noch auf eine restliche Seite passen, bevor hier ein Seitenwechsel nach Zeile 64 durchgeführt wird.
Diese Frage bezieht sich auf die Antwort, die mir Franz auf meine Eingangsfrage gegeben hat.
Vielen Dank für Hilfe
PeterS.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige