AW: Neuen Seitenwechsel feststellen
fcs
Hallo Jürgen,
meines Wissens kann man das Ändern/Einfügen eines Seitenwechsels nicht als Ereignis auswerten.
Mit BeforeSave kann man das jedoch realisieren. Allerdings verzögert sich der Speichervorgang je nach Zeilenzahl in der Tabelle etwas, da die Prüfung auf Seitenwechsel scheinbar relativ langsam funktioniert. Die Änderung wird hierbei unter einem Namen gespeichert. Speicherung in einer Zelle der Tabelle verändert ggf. vertikale/horizontale Seitenumbrüche.
Gruß
Franz
Private Sub Workbook_Open()
If ActiveWorkbook.Names("Seitenwechsel").Value = "=" & """geändert""" Then
MsgBox "Ursprüngliche Einstellung für Seitenwechsel wurde geändert"
End If
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Call SeitenwechselPrüfen
End Sub
Private Sub SeitenwechselPrüfen()
Dim i%, Zeile As Long, wks As Worksheet, WechselSoll, WechselIst(), wechsel As HPageBreak
Set wks = Worksheets("Tabelle1")
WechselSoll = Array(52, 103) 'Zeilen mit gewünschen Seitenwechsel aufsteigend
'Seitenwechsel erfassen
With wks
i = 0
For Each wechsel In wks.HPageBreaks
ReDim Preserve WechselIst(i)
WechselIst(i) = Range(wechsel.Location.Address).Row
i = i + 1
Next
End With
'Ergebnisprüfung/Ausgabe in Name
ActiveWorkbook.Names.Add Name:="Seitenwechsel", RefersTo:="nicht geändert"
For i = 0 To UBound(WechselSoll)
If WechselSoll(i) <> WechselIst(i) Or UBound(WechselSoll) <> UBound(WechselIst) Then
ActiveWorkbook.Names.Add Name:="Seitenwechsel", RefersTo:="geändert"
Exit For
End If
Next i
End Sub