ich wette es ist nur ein kleines prob, oder ich sehe den wald
vor lauter bäumen nicht, aber:
wenn ich eine tabelle dynamisch füllen lasse, mit mehreren
tabellen, und ich will gezielt ein pagebreak setzen dann
klappt das auch,
ABER:
lasse ich die tabellen nochmals dynamisch füllen, und der
pagebreak sitzt woanders, dann bleibt der alte da, wo er
vorher war, und es kommt noch einer an der neuen stelle
zusätzlich.
auch wenn ich nur mit 2 pagebreaks arbeite lasse ich zuvor
alle pagebreaks von 0 bis 9 löschen:
Tabelle3.HPageBreaks.Item(0).Delete
Tabelle3.HPageBreaks.Item(1).Delete
setzen tue ich sie mit:
Tabelle3.HPageBreaks.Add
Was mache ich falsch???
Hallo Michael,
diese Hpagebreaks scheinen eine Eigendynamik zu haben die mit unsrer beider Logik nicht harmoniert, in Kurzform, ich kapiers auch net*g
Das Setzen der Breaks klappt immer, gibt auch keine Fehlermeldung wenn man in einer Schleife einen Break setzt wenn schon einer da ist.
Aber das Löschen von Breaks verstehe ich nicht.
Ich hätte gerne den Code, der Zellen durchgeht und mir bei jeder Zelle, die Item Nummer des Breaks anzeigt. Denn, ich habe festgestellt, bei Breaklöschroutinen, es gibt da wohl mehrmals Item(1) oder so. D.h., die workaround-Lösung für dich ist, die Löschschleife mehrmals aufzurufen, nach eingigen Durchläufen sind alle weg.
Ich habe dann rumexperimentiert mit den nachfolgenden Makros, da trat seltsames auf. Für die ersten 20 Zellen Breaks gesetzt, kein Problem.
dann abgefragt, for each x in hpagebreaks: msgbox hpagebreak.location.address… kamen nur die Adressen A2 bis A6, beim nächsten Abfragedurchlauf nr noch 3- 5 …, dann noch weniger, obwohl sie noch da waren, also angezeigt wurden in der Tabelle. Klar, zwischen jedem Durchgang wurde die Löschroutine aufgerufen. Ich stehe vor einem Rätsel, aber ist mir nix neues bei Excel.
Wenn das jetzt keiner verstanden hat, macht das nix
, aber es war so.
Ich denke nicht dass mein Beitrag wirklich hilfreich war m dein Problem zu lösen, aber zmindest weisst du, du stehst nicht allein im Regen mit den hpagebreaks 
Gruß
Reinhard
ps: die nachfolgenden Codes stellen nur die Spitze des Eisbergs dar, den ich ausprobiert habe, um Erfolglos hinter das Geheimnis der breaks zu kommen
Option Explicit
Sub Seitenwechsel\_Erzeugen()
Dim n As Integer
For n = 2 To 20
ActiveSheet.HPageBreaks.Add Before:=Cells(n, 1)
Next n
End Sub
Sub Seitenwechsel\_Adresse()
Dim SW As HPageBreak
For Each SW In ActiveSheet.HPageBreaks
MsgBox SW.Location.Address
Next SW
End Sub
Sub Seitenwechsel\_Loeschen()
Dim n As Integer
For n = 1 To 20
On Error Resume Next
ActiveSheet.HPageBreaks.Item(n).Delete
Next n
End Sub
Sub test()
'Worksheets.Add
'Call Seitenwechsel\_Erzeugen
'Call Seitenwechsel\_Adresse
'Call Seitenwechsel\_Loeschen
'Call Seitenwechsel\_Adresse
'Call Seitenwechsel\_Loeschen
'Call Seitenwechsel\_Adresse
'Call Seitenwechsel\_Loeschen
'Call Seitenwechsel\_Adresse
'Call Seitenwechsel\_Loeschen
'Call Seitenwechsel\_Adresse
'Call Seitenwechsel\_Loeschen
End Sub