Anzeige
Archiv - Navigation
892to896
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
892to896
892to896
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

mit VBA Seitenumbruch erzwingen

mit VBA Seitenumbruch erzwingen
07.08.2007 10:43:13
Peter
Guten Tag
Ich bereite umfangreiche Inventare auf und lösche mit Hilfe von VBA nicht notwendige Zeilen in der Tabelle "Inventar". Bei Seite einrichten habe ich die Skalierung so eingestellt, dass der ganze Ausdruck 1 Seite breit ist und beliebige Seiten hoch (das entsprechende Feld habe ich einfach leer gelassen).
Nun gibt es Situationen, wo bei einer solchen Tabelle "Inventar" ab einer bestimmten Position zwingend eine neue Seite beginnen soll. Ich stelle mir folgenden Lösungsmöglichkeit vor, ohne jedoch eine Ahnung zu haben, wie das umzusetzen ist:
Ausserhalb des Druckbereichs benütze ich eine Hilfspalte. Bei der Zeile, die zwingend auf einer neuen Seite stehen soll, setze ich den Kürzel "ZU" ein. Überall dort, wo sich dieses Kürzel in dieser Hilfsspalte (z.B. Spalte AJ) befindet, wird dann ein Seitenumbruch erzwungen.
Wie kann ich die Skalierung grundsätzlich so behalten und dann ein Seitenumbruch erzwingen? Vielleicht indem ich die Prozentzahl "Vergrössern/Verkleinern" einer Variablen übergebe und dann das "Anpassen n Seiten breit / n Seiten hoch" deaktiviere und stattdessen den Prozentwert belasse und dann den Seitenumbruch setze.
ist das alles mit VBA möglich - kann mir da jemand weiterhelfen?
Danke, Peter

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit VBA Seitenumbruch erzwingen
07.08.2007 12:57:00
Ramses
Hallo
Nachdem du ja weisst, WO die Zelle ist die den Seitenumbruch markieren soll, kannst du das so machen
ActiveSheet.HPageBreaks.Add Before:=Range("A9")
wobei "A9" die Zelle mit dem von dir angezeigten Seitenumbruch ist
Gruss Rainer

AW: mit VBA Seitenumbruch erzwingen
07.08.2007 13:31:00
Peter
Hallo Rainer
Vielen Dank.
Angenommen, in meiner Hilfsspalte AJ steht in Zeile 39, 111 und 201 der String "ZU". Die Hilfsspalte hat keine andere Funktion, es hat also auch keine anderen Einträge. Wie muss ich die VBA-Schlaufe aufbauen, damit ich die drei Seitenumbrüche realisieren kann?
Sub Umbruch()
Dim Zeile as Long
dim Spalte as long
long = 36 'entspricht Spalte AJ
With sheets("Inventar")
if column("AJ:AJ") = "" exit sub 'keine manuelle Seitenumbrüche notwendig
Zeile = Sheets("Inventar").Cells(65536, 1).End(xlUp).Row
HPageBreaks.Add Before:=Range(cells(Zeile, Spalte))
...
Danke für jede Rückmeldung.
Peter

Anzeige
AW: mit VBA Seitenumbruch erzwingen
07.08.2007 13:46:24
Ramses
Hallo

Sub Umbruch
Dim i as long
Dim myCol as Integer
myCol = 36 'Spalte AJ
For i = 1 to cells(rows.count, mycol).End(xlup).row
If ucase(cells(i,mycol)) = "ZU" then
HPageBreaks.Add Before:=cells(i, mycol)
end if
next i
End Sub


Gruss Rainer

AW: mit VBA Seitenumbruch erzwingen
07.08.2007 17:21:49
Peter
Hallo Rainer
Vielen Dank für deine Hilfe. Darf ich noch eine Anschlussfrage stellen?
Macht es nicht Sinn, die Tabelle zu spezifizieren, bei der die Seitenumbrüche gesetzt werden sollen?
Zusätzlich muss ich noch den Zoom-Wert setzen:

Sub Makro1()
With Sheets("Inventar").PageSetup
.Zoom = 65
End With
End Sub


Allerdings ist mir nicht klar, wie ich diesen Wert übernehme, der ermittelt wurde aufgrund der bisherigen Einstellung, dass der Ausdruck auf eine Seite breit und beliebig viele Seiten hoch erfolgen soll.
Gruss, Peter

Anzeige
AW: mit VBA Seitenumbruch erzwingen
07.08.2007 23:12:00
Herby
Hallo Peter,
den Ausdruck nur nach der Breite zu begrenzen, geht dadurch, dass
Du den Zoom auf False setzt und ebenso die Seitenhöhe (FitToPagesTall)
With Worksheets("Inventar").PageSetup
.Zoom = False
.FitToPagesTall = False
End With
Viele Grüße
Herby

AW: mit VBA Seitenumbruch erzwingen
08.08.2007 08:23:19
Peter
Vielen Dank Herby
Ich habe noch eine etwas spezifischere Frage, die ich in einem neuen Beitrag stelle.
Gruss, Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige