Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1028to1032
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
Seitenumbruch per VBA
04.12.2008 10:03:00
KlausL
Hallo zusammen,
ich habe ein Formatierungsproblem und hoffe auf Eure Unterstützung. In meiner beigefügten Tabelle werden verschiedene Produkte aufgeführt, die mit Zuschlägen belegt werden. Am Ende steht die Gesamtsumme. Ich habe mir ein Modul aufgezeichnet mit dessen Hilfe ich die Seite formatiere. Mein Problem besteht nun darin, den Seitenumbruch per VBA immer unter der letzten möglichen Gesamtsumme auf der jeweiligen Seite einzurichten. Vielen Dank bereits jetzt für Hinweise und Hilfestellungen.
Beste Grüße Klaus
https://www.herber.de/bbs/user/57337.xls

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

Betreff
Datum
Anwender
Anzeige
AW: Seitenumbruch per VBA
04.12.2008 19:07:15
KViertel
Hallo Klaus,
Sieh Dir mal diesen Beitrag an. Ich hatte das gleiche Problem. Zur Unterscheidung z.B. nach Gesamtsumme suchen.
www.herber.de/forum/archiv/1024to1028/t1025526.htm
mfG. Klaus
AW: Seitenumbruch per VBA
05.12.2008 08:21:00
M.
Hallo,
ich wollte helfen und hab den Code den ich hier bei Herber gefunden habe auf das Problem umgebaut.
Ursprungscode: https://www.herber.de/mailing/053799h.htm
Meine Variante bezogen auf die Fragestellung:

Sub Seitenumbruch()
Dim varPB As Variant
Dim iPage As Integer, iRowL As Integer
Dim k As Integer
iRowL = Cells(Rows.Count, 1).End(xlUp).Row
iPage = 1
'zunächst die Seitenumbrüche zurücksetzen
ActiveSheet.ResetAllPageBreaks
Do While IsError(varPB) = False
varPB = ExecuteExcel4Macro("INDEX(GET.DOCUMENT(64)," & iPage & ")")
If IsError(varPB) Then
Exit Sub
Else
If Cells(varPB - 1, 1)  "Gesamtsumme" Then
For k = varPB - 1 To 1 Step -1
If Cells(k, 1) = "Gesamtsumme" Then
ActiveSheet.HPageBreaks.Add Before:=Cells(k + 1, 1)
Exit For
End If
Next k
End If
End If
iPage = iPage + 1
Loop
End Sub


Leider funktioniert das noch nicht 100%ig. Folgendes Phänomen: Wenn ich den Code im VBA Editor im Einzelschrittmodus durchlaufen lasse funktioniert alles perfekt und die Seitenumbrüche werden richtig gesetzt. Starte ich die Prozedur aber von einem Command Button im Arbeitsblatt werden einige Seitenumbrüch nicht richtig gesetzt.
Wo liegt der Unterschied? Ich kann mir nicht erklären, warum es im Einzelschrittmodus funktioniert. Das würde mich schon interessieren. :-)
Hier die angepasste Beispieldatei: https://www.herber.de/bbs/user/57357.xls
Viele Grüße
Rudi

Anzeige
AW: Seitenumbruch per VBA
05.12.2008 09:59:56
KViertel
Hallo Klaus,
Zu Deinem Problem kann ich Dir auch nichts sagen.
Wenn man Einzelschrittweise mit F8 durchläuft, funktionierts. Den Cursor in den Code gesetzt, 1x F8 gedrückt, den Cursor vor Exit gesetzt und Strg F8 gedrückt ergibt Durcheinander. Ausführung mit F5 bringt Durcheinander. Datei öffnen, ohne etwas sonst zu verändern, Ansicht auf Seitenumbruchvoranzeige umstellen, Seitenvorschau anzeigen lassen - ergibt Durcheinander.
Bei mir entfernte Excel einen Teil der automatischen Umbrüche nicht. Deshalb wird jede Zeile daraufhin kontrolliert, ob ein automatischen Umbruch vorhanden ist. Wenn ja löschen. Seither funktionierts.
MfG. Klaus
Anzeige
AW: Seitenumbruch per VBA
08.12.2008 12:35:00
KlausL
Hallo Klaus, hallo Rudi,
sorry, dass ich mich erst heute bedanke, ich hatte Netzprobleme.
Rudi, ich habe die angepasste Datei geladen, nach dem ersten Testlauf habe ich alle Seitenumbrüche manuell gelöscht, danach wurden die Umbrüche korrekt unter der Gesamtsumme gesetzt. Vielen Dank, es ist eine gute Ausgangsbasis.
Beste Grüße
Klaus

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige