Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
744to748
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
744to748
744to748
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige