Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Seitenumbruch beim Drucker

Forumthread: Seitenumbruch beim Drucker

Seitenumbruch beim Drucker
17.03.2006 11:23:35
pauker
Hallo,
gibt es eine Möglichkeit, in VBA festzustellen, nach welcher Zeile ein Seitenumbruch beim Ausdruck erfolgt? Die einzelnen Tabellenblätter sind sehr lang, wobei nur in den ersten beiden Spalten etwas steht. Da die Tabelle links und rechts einen Rand hat, möchte ich beim Ausdruck auch bei jeder Seite nach der letzten Zeile eine dicke Linie zeichnen (mit xlBorderDown).
Dazu müsste ich aber herausbekommen, welche Zeile jeweils die letzte auf dem Blatt ist.
Gibt es dazu eine Möglichkeit, die mir die jeweiligen Zeilen ausgibt?
Gruss
der Pauker
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Seitenumbruch beim Drucker
17.03.2006 12:52:40
Franz
Hallo Pauker,
hier ein Makro, dass den unteren Rahmen der Zellen in der letzten Zeile einer Seite "dick" formatiert.
Da der Seitenumbruch ggf. druckerabhängig ist oder nach der letzten Formatierung der Zellen am Seitenwechsel Zeilen gelöscht oder hinzugefügt wurden, werden im 1. Durchlauf die vorhandenen Formatierungen entfernt und im 2. Durchlauf an den Seitenwechseln eingefügt. Die Laufzeit des Makros ist relativ lang (zumindest für mein Gefühl)

Sub DickeLinieSeitenende()
Dim wks1 As Worksheet, I As Integer, Spalten As Integer, Zelle As Range
Set wks1 = ActiveSheet
Spalten = wks1.UsedRange.Columns.Count 'hier kann auch eine feste Zahl angegeben werden
'Entfernen der vorhandene "Dicken Linien"
For I = 1 To wks1.UsedRange.Rows.Count
Set Zelle = Cells(I, 1)
'Überprüfung ob in Spalte 1 Zelle mit "dicker Linie unten" vorliegt
If Zelle.Borders(xlEdgeBottom).Weight = xlThick Then
' Änderung der Rahmenformatierung unten in den Zellen der Zeile
With Range(Zelle.Offset(0, 0), Zelle.Offset(0, Spalten - 1)).Borders(xlEdgeBottom)
.LineStyle = xlLineStyleNone
End With
End If
Next I
For I = 1 To wks1.UsedRange.Rows.Count
Set Zelle = Cells(I, 1)
'Überprüfung ob Seitenwechsel in Zeile vorliegt
If Zelle.EntireRow.PageBreak = xlPageBreakAutomatic Or Zelle.EntireRow.PageBreak = xlPageBreakManual Then
' Änderung der Rahmenformatierung in den Zellen der Zeile davor
With Range(Zelle.Offset(-1, 0), Zelle.Offset(-1, Spalten - 1)).Borders(xlEdgeBottom)
.Weight = xlThick
.LineStyle = xlContinuous
End With
End If
Next I
Set Zelle = Cells(I, 1)
' Änderung der Rahmenformatierung in der letzten Zeile
With Range(Zelle.Offset(-1, 0), Zelle.Offset(-1, Spalten - 1)).Borders(xlEdgeBottom)
.Weight = xlThick
.LineStyle = xlContinuous
End With
End Sub

Gruß
Franz
Anzeige
AW: Seitenumbruch beim Drucker
17.03.2006 13:21:41
Pauker
Hallo Franz,
das ist ja fast schon ein komplettes Programm! Da ich nun zu Hause bin, werde ich den Code am Montag am Arbeitsplatz einbauen. Vielen Dank für deine Mühe!
Gruss
der Pauker
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige