Mich treibt gerade
etwas um. Es mag für manchen nur Kosmetik sein, mich macht es aber gerade
kirre… Wenn du schnell einen Tipp parat hast, würde ich mich freuen; ich
erwarte aber keinen Support. Vielleicht lautet deine Antwort ja auch: Ja,
möglich, aber mit etwas (Programmier-)Aufwand. Dann ist an der Stelle sowie
Schluss.
Seitenumbrüche einfügen
– anpassen: kein Problem, kann ich.
Seitenlayout anpassen
auf beispielsweise 1 Seite breit, 7 Seiten hoch – auch kein Problem.
Was aber, wenn die Liste nicht nur die Artikelnummern enthält, sondern auch „Überschriften bzw. Unterüberschriften“. Aufgabe: Die darunter stehenden Artikel sollen zusammengehalten werden, ähnlich wie bei Word, da geht das mit Formatvorlagen-Überschriften und Absätze nicht trennen. (Es muss übrigens eine Excel-Datei bleiben und die Mitarbeiter sollen selbst keine Einstellungen vornehmen müssen.)
Wenn ich die maximale
Seitenanzahl (breit und hoch) zur Skalierung vorgeben möchte, kann ich keinen
Eingriff in die Umbrüche nehmen. Oder doch?
Der Grund, warum ich das Seitenlayout auf x Seiten breit und x Seiten hoch vorgeben möchte: Die Anwender verwenden die unterschiedlichsten benutzerdefinierten Seitenränder. Wenn ich die Umbrüche definiere, kann es mitunter vorkommen, dass bei manchen Anwendern erst auf der zweiten Seite umgebrochen wird. Auf der zweiten Seite sind dann beispielsweise nur zwei Zeilen und danach wird wieder umgebrochen, weil das ja so definiert war.
Ich freue mich
jedenfalls über ein kurzes Feedback 🙂 und sage schon mal DANKE für einen Tipp von dir.
Liebe Grüße
Christa
Hallo
Christa,
Die Antwort lautet: nein! Geht nicht.
Du
kommst mit den Formatierungen an die Grenzen. Richtig: wenn du eine feste
Seitenzahl einstellst, dann kannst du keine manuellen Umbrüche vornehmen.
Entweder – oder.
Du
kannst nicht zwei Zeilen miteinander „festhalten“ – wie in Word (praktische
Sache! – Überschrift nicht am Ende der Seite).
Warum bin ich so sicher? Ich erstelle für einen Kunden „Risikoanalyse“. In Excel. Das heißt: das Formular dafür. Und er möchte die Risikoanalysenblätter als PDF gespeichert haben. Und mit ähnlichem Problem: die Zwischenunterschriften nicht am Ende der Seite. Also habe ich per Programmierung von oben nach unten „gesucht“: wo ist Überschrift? Wie weit bist du unten? Mache – wenn nötig einen Seitenwechsel darüber. Und DANN passe es auf eine Seite breit an (die Länge spielte keine Rolle).
Wenn
bei dir die Seitenlänge EGAL wäre, könntest du ebenso vorgehen: Dokument
durchschauen, möglicherweise manuelle Seitenumbrüche einfügen und DANN Seite
einrichten: 1 Seite breit – bei Höhe nichts eintragen – das soll Excel
berechnen.
Excel
ist eine Tabellenkalkulation. Wie sagte mal ein Teilnehmer bei so einer Frage:
„einen Tod musst du sterben!“. Und schau mal auf meine Seite – da gibt es
einige Beiträge zu Fragen wie: Zeilenabstand definieren, hängende Einzüge,
Buchstabenabstand …
Allerdings sollte die Tabelle auf eine Seite angepasst werden:
With ThisWorkbook.Worksheets(1).PageSetup
.Zoom = False
.FitToPagesWide = 1
End With
Und was jetzt passiert entzieht sich meiner Kenntnis:
Ich schaffe es nicht die Seitenbreite = 1 einzustellen UND Seitenumbrüche einzufügen. Alle Versuche die Reihenfolge der Zeilen zu ändern, Application.PrintCommunication ein- oder auszuschalten, die Eigenschaft PageBreak auf xlPageBreakManual festzulegen … Alles scheitert. Also habe ich nachgesehen, wie „breit“ eine Seite ist. Hier: 60%. Und mit dem Befehl
ThisWorkbook.Worksheets(1).PageSetup.Zoom = 60
klappt es auch, wie man sehen kann:
Hier der ganze Code:
Sub SeiteEinrichten()
ThisWorkbook.Worksheets(1).ResetAllPageBreaks
ThisWorkbook.Worksheets(1).PageSetup.PrintArea = ""
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$4"
.PrintTitleColumns = ""
End With
With ThisWorkbook.Worksheets(1).PageSetup
.Zoom = False
.FitToPagesWide = 1
End With
ThisWorkbook.Worksheets(1).HPageBreaks.Add Before:=ThisWorkbook.Worksheets(1).Cells(5, 1)
ThisWorkbook.Worksheets(1).HPageBreaks.Add Before:=ThisWorkbook.Worksheets(1).Cells(30, 1)
ThisWorkbook.Worksheets(1).HPageBreaks.Add Before:=ThisWorkbook.Worksheets(1).Cells(51, 1)
ThisWorkbook.Worksheets(1).PageSetup.Zoom = 60
ThisWorkbook.Worksheets(1).PageSetup.CenterHorizontally = False
Application.PrintCommunication = True
ThisWorkbook.Worksheets(1).PageSetup.LeftFooter = "Lebensmittel"
' -- Firmenname in der Fußzeile
End Sub
Die Antwort ist einfach: In der Normalansicht der Tabelle ist der (automatische) Seitenumbruch zu sehen. Deshalb wird die (formatierte) Linie nicht angezeigt. Eine Linie gewinnt – hier: der Seitenumbruch.
Ich habe heute mit einem Freund ein paar Excel-VBA-Lösungen programmiert.
In einer Tabelle sollen für den Ausdruck unter jeder Ergebniszeilen (Zeile mit den Zwischensummen) ein Seitenumbruch eingefügt werden (und noch ein paar weitere Dinge eingeschaltet und formatiert werden). Der Hintergrund: jedes dieser Blöcke sollte ausgedruckt an jeweils einen Kunden verschickt werden.
Der erste Test erstaunt:
Oha – man darf nur 1.026 manuelle Seitenumbrüche einfügen – mehr erlaubt Excel nicht.
Normalerweise wird der Seitenumbruch als Linie auf dem Tabellenblatt angezeigt. Manchmal allerdings nicht. Warum?
Wo ist der Seitenumbruch?
Die Antwort: Einige Dinge in Excel lassen sich nicht miteinander kombinieren. Beispielsweise das Anpassen auf eine Seite (im Dialog „Seite einrichten“) und der manuelle Seitenumbruch. Es gilt: entweder – oder.