Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1060to1064
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
Inhaltsverzeichnis

Seitenumbrüche setzen

Seitenumbrüche setzen
21.03.2009 00:30:19
Uduuh
Hallo zusammen,
ich beiße mir gerade die Zähne an einen Problem aus.
Ich möchte Seitenumbrüche abhängig vom Zellinhalt in A:A setzen. Wenn der automatische Umbruch bei einer 0 erfolgt, soll bei der vorhergehenden 1 ein Umbruch eingefügt werden. Das klappt, wenn ich den Code mit F8 durchgehe, einwandfrei. Nicht aber, Wenn der Code mit F5 komplett durchläuft. Siehe Zeilen 110:118.
Hat irgend jemand eine Idee, wie ich das gebacken kriege?
Beispieldatei: https://www.herber.de/bbs/user/60534.xls
Ich gehe jetzt ins Bett und melde mich später wieder.
Gruß aus'm Pott
Udo

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Zusatzinfo
21.03.2009 00:33:05
Uduuh
auch das künstliche Ausbremsen der Schleife bringt nichts.
AW: Zusatzinfo
21.03.2009 07:04:00
schauan
Hallo Udo,
probiere es mal so:

varPB = ExecuteExcel4Macro("index(get.document(64)," & iPage & ")")
DoEvents


... dann klappt's auch mit dem Nachbarn. Warum, kann ich allerdings nicht erklären.
Gruß, ANdre

AW: Zusatzinfo
21.03.2009 10:25:24
Uduuh
Hallo,
danke für die Antwort.
Der automatische Umbruch ist zwar weg, dafür sitzt der manuelle falsch (zwischen 2 Nullen)
Das ist aber eine Spur, die ich weiterverfolgen werde.
Gruß aus’m Pott
Udo

Anzeige
AW: Zusatzinfo
21.03.2009 15:52:23
Daniel
Hi
hier mal ne lösung ohne Excel4-Makros
die Trennung wird immer auf den davorliegenden Wechsel zwischen 0 und 1 gelegt

Sub test()
Dim i As Long
Dim Zelle As Range
Dim Wert As Long
ActiveWindow.View = xlPageBreakPreview
ActiveSheet.ResetAllPageBreaks
Do
i = i + 1
If i > ActiveSheet.HPageBreaks.Count Then Exit Do
Set Zelle = ActiveSheet.HPageBreaks(i).Location
If Zelle.Value = 0 Then Wert = 1
If Zelle.Value = 1 Then Wert = 0
Set Zelle = Columns(1).Find(what:=Wert, after:=Zelle, searchdirection:=xlPrevious)
ActiveSheet.HPageBreaks.Add Zelle.Offset(1, 0)
Loop
ActiveWindow.View = xlNormalView
End Sub


interessanterweise funktioniert das Makro nur, wenn man sich in der Seitenumbruchsvorschau befindet, wahrscheinlich werden nur dann die automatischen Seitenumbrüche auch automatsich aktualisiert, wenn du einen festen von Hand setzt.
Gruß, Daniel

Anzeige
AW: Zusatzinfo
21.03.2009 20:20:49
Uduuh
Hallo Daniel,
herzlichen Dank.
Der Wechsel auf die Seitenumbruchvorschau ist anscheinend der Schlüssel. Nach einigen Modifikationen (u.a suche ich nicht nur 1 sondern alles größer 0), sehen die ersten Tests sehr Erfolg versprechend aus.

Sub test()
Dim i As Long
Dim Zelle As Range
Dim Wert As Long
Application.ScreenUpdating = False
ActiveWindow.View = xlPageBreakPreview
ActiveSheet.ResetAllPageBreaks
Do
i = i + 1
If i > ActiveSheet.HPageBreaks.Count Then Exit Do
Set Zelle = ActiveSheet.HPageBreaks(i).Location
If Zelle.Value = 0 Then
Do While Zelle = 0
Set Zelle = Zelle.Offset(-1)
Loop
ActiveSheet.HPageBreaks.Add Zelle
End If
Loop
ActiveWindow.View = xlNormalView
Application.ScreenUpdating = True
End Sub


Nochmals Danke und Gruß aus’m Pott
Udo

Anzeige
geschlossen
21.03.2009 23:10:41
Uduuh
Hallo Daniel,
sämtliche weiteren Tests sind erfolgreich verlaufen
So was beklopptes ;-) Vergess ich bestimmt nicht mehr.
Siehe in meiner Stöberkiste unter 'Tabelle: Seitenumbruch'
Gruß aus’m Pott
Udo

weiter offen owT
21.03.2009 14:04:42
Uduuh

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige