Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1144to1148
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

Hpagebreaks.count zählt nicht richtig

Hpagebreaks.count zählt nicht richtig
Urs
Hallo miteinander
ich habe ein ganz merkwürdiges Verhalten festgestellt, dass ich mir nur so erklären kann, dass ich die ganze Sache falsch verstanden habe. Ich hoffe mir kann jemand helfen. Also ich habe ein kleines Programm geschrieben, das verhindern soll, dass Excel einen Seitenumbruch an einer ungünstigen Stelle macht. Dazu brauche ich auch den Befehl:
AnzahlUmbruch = Worksheets("Tabelle1").HPageBreaks.Count
Wenn ich nun in der Exceltabelle den ersten Seitenumbruch sehe und dann das Makro ausführe liefert es mir die Anzahl Umbrüche = 2, wenn ich aber ganz an das obere Ende der Seite Scrolle und dann das Makro ausführe liefert es mir nur die Anzahl Umbrüche = 1
Falls gewünscht kann ich auch den ganzen Code posten aber der Rest funktioniert einwandfrei (solange das Dokument nur zwei Seiten hat), einziges Problem ist dass ich bei längeren Dokumenten den letzten Seitenumbruch finden muss bevor ich diesen verschieben kann.
Gruss
Urs

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Hpagebreaks.count zählt nicht richtig
16.03.2010 19:08:22
fcs
Hallo Urs,
ein paar Merkwürdigkeiten gibt es schon. So wird bei mir (Excel 2007) z.B. nach einer Vergrößerung des Druckbereichs die Zahl der Umbrüche nur korrekt aktualisiert, wenn ich vorher die Seitenvorschau anzeige oder eine Zelle im Bereich des letzten Seitenumbruchs selektiere.
Hier mal ein Beispiel, wie man den letzten Seitenumbruch ermitteln kann.
Etwas aufpassen muss man, wenn bei nicht festgelegtem Druckbereich ein Umruch an der letzten Zeile der letzten Seite liegt, dann wird der Umruch noch gezählt, obwohl die folgende leere Seite nicht gedruckt wird.
Gruß
Franz
Sub aaTest()
Dim Anzahlumbruch As Long, oHpagebreak As HPageBreak, ZeileLetzter As Long
Dim wks As Worksheet
Set wks = Worksheets("Tabelle1")
'die nachfolgende Zellselektion ist erforderlich, da es sonst zu einer falschen _
Berechnung der Seitenumbrüche kommen kann
If wks.PageSetup.PrintArea  "" Then
With wks.Range(wks.PageSetup.PrintArea)
Cells(.Row + .Rows.Count, 1).Select
End With
Else
Cells(wks.Cells.SpecialCells(xlCellTypeLastCell).Row, 1).Select
End If
Anzahlumbruch = wks.HPageBreaks.Count
If Anzahlumbruch > 0 Then
Set oHpagebreak = wks.HPageBreaks(Anzahlumbruch)
ZeileLetzter = oHpagebreak.Location.Row
MsgBox "Anzahl Seitenümbrüche: " & Anzahlumbruch & vbLf _
& "Zeile letzter Umbruch: " & ZeileLetzter & _
IIf(ZeileLetzter = wks.Cells.SpecialCells(xlCellTypeLastCell).Row, _
vbLf & "Umbruch an letzter Zeile der Seite", "")
End If
End Sub

Anzeige
AW: Hpagebreaks.count zählt nicht richtig
16.03.2010 19:08:33
Ramses
Hallo
Ich mach mal einen vorsichtigen Anfang:
Hört sich ein wenig kurios an das Ganze. Kannst du mal eine Beispielmappe hochladen mit dem Code ?
Personendaten usw. vorher entfernen und anonymisieren
Gruss Rainer
AW: Hpagebreaks.count zählt nicht richtig
17.03.2010 09:44:46
Urs
Hallo Rainer
Eine Beispielmappe ist hier:
https://www.herber.de/bbs/user/68608.xls
Aber der Hinweis von Franz mit der Zelle selektieren im Bereich des letzten Umbruchs scheint schon zu genügen. Allerdings finde ich das Verhalten trotzdem immer noch sehr merkwürdig. Aber vielleicht hat's ja auch einen grundlegenden Fehler meinerseits im Code
Gruss
Urs
Anzeige
AW: Hpagebreaks.count zählt nicht richtig
17.03.2010 14:19:22
fcs
Hallo Urs,
dein Code ist nach meiner Einschätzung soweit ok.
Für die korrekte Berechnung der Anzahl der Seitenumbrüche muss du noch die von mir vorgeschlagene Selektion einer Zelle einfügen.
Gruß
Franz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige