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