Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
812to816
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
812to816
812to816
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Neuen Seitenwechsel feststellen

Neuen Seitenwechsel feststellen
27.10.2006 11:59:04
Jürgen
Hallo,
habe folgendes Problem:
Eine Exceltabelle erstreckt sich über mehrere Druckseiten.
Diese Tabelle ist für mehrere User vorgesehen, die über unterschiedliche Drucker verfügen und damit auch unterschiedliche Druckereinstellungen haben.
Wenn nun einer dieser User den Seitenwechsel (HPageBreak) in der Seitenumbruchvorschau z.B. von Zeile 65 nach Zeile 62 verschiebt, möchte ich diese Änderung speichern, z.B. in Zelle IV1.
Wie kann ich dies im Worksheet-Change-Ereignis abprüfen?
Wäre für Hilfestellung dankbar.
Gruß
Jürgen

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
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

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige