Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1228to1232
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
Inhaltsverzeichnis

gesucht Makro: Dicke Rahmenlinie bei Seitenumbruch

gesucht Makro: Dicke Rahmenlinie bei Seitenumbruch
Marcy
Hallo zusammen,
ich pflege in der Firma Maschinen Abnahme Protokolle (MAP).
In diesem MAP sind je nach Maschine zwischen 15-25 Tabellenblätter.
Die Spaltenanzahl ist je Tabellenblatt unterschiedlich.
Kann mal 4 Spalten sein, mal 18 Spalten.
Oft muss ich das MAP durch weitere Zeilen ergänzen.
Dann verrutschen auch die Seitenumbrüche.
Wenn ich das MAP dann in ein PDF umwandel, ist öfters die Tabelle an einem Seitenende unten offen.
Da diese MAP´s bis zu 70 Seiten haben, blättere ich das PDF bei vielen Änderungen sicherheitshalber kpl. durch.
Beispiel:
Zwischen Zeile 132 und 133 befindet sich ein erzwungener Seitenumbruch.
Jetzt muss ich über Zeile 132 eine weitere Zeile einfügen.
Aus optischen Gründen verschiebe ich den Seitenumbruch zwischen Zeile 125 und 126.
Jetzt kann es sein, dass im PDF die Zeile 125 unten offen ist, wenn ich zu seiner Zeit den dicken Rahmen um 126 gemacht habe.
Wenn dieses Tabellenblatt von Spalte A:K geht, markiere ich dann den Bereich A125:K125, mache dann "Alle Rahmenlinien" und dann "Dicke Rahmelinie".
Die offene Seite sieht man leider nur in der Seitenansicht oder im PDF.
Ich denke, bzw. bin mir sicher, es geht auch per Makro.
Liebes Makro, beende jede Seite in jedem Tabellenblatt bitte immer mit einer dicken Rahmenlinie.
PS: Alle Tabellenblätter werden von oben nach unten gedruckt.
Wenn es viele Spalten sind, sind diese entsprechend schmall, dass sie auf eine Seite passen.
Ich hoffe ich habe mich verständlich ausgedrückt.
Gruß Marcy
AW: gesucht Makro: Dicke Rahmenlinie bei Seitenumbruch
21.09.2011 19:01:30
Daniel
Hi
so zum Beispiel für alle Seitenumbrüche:

Sub rahmen_bei_Umbruch()
Dim HP As HPageBreak
For Each HP In ActiveSheet.HPageBreaks
With Intersect(HP.Location.Offset(-1, 0).EntireRow, Range("A:K"))
.Borders(xlEdgeBottom).Weight = xlMedium
End With
Next
End Sub

Gruß, Daniel
AW: gesucht Makro: Dicke Rahmenlinie bei Seitenumbruch
21.09.2011 20:44:40
Marcy
Hallo Daniel,
fast gelöst.
was muss ich ändern, damit es auf die gesamte Arbeitsmappe angewendet wird?
Weiterhin sind Tabellenblätter dabei, die weniger Spalten haben.
Pro Tabellenblatt ist der Druckbereich manuell festgelegt, evtl. hilft es beim Code.
Trotzdem schon mal danke
Gruß Marcy
Anzeige
AW: gesucht Makro: Dicke Rahmenlinie bei Seitenumbruch
21.09.2011 21:13:53
Luschi
Hallo Daniel,
so oder ähnlich findet man Deine Lösung auch im Internet. Die Sache hat aber einen Haken.
Fügt man einen manuellen horizontalen Seitenumbruch hinzu, dann verschluckt sich Excel
und produziert einen Vba-Fehler; egal in welcher Excel-Version (getestet in Excel 2003 - 2010).
In der Excel-Vba-Hilfe steht dies:
"Beim Hinzufügen eines Seitenwechsels, der den Druckbereich nicht überschneidet, wird das
neu hinzugefügte HPageBreak-Objekt nicht in der HPageBreaks-Auflistung für den
Druckbereich angezeigt. Der Inhalt der Auflistung kann sich ändern, wenn die Größe des
Druckbereichs geändert oder der Druckbereich neu definiert wird."
Deshalb mache ich es so:

Sub Sub_H()
Dim hpb As HPageBreak
Dim i1 As Integer, i2 As Integer
With Sheets("Tabelle1")
'letzte Zeile in Spalte 'A'
loletzte = .Range("A" & .Rows.Count).End(xlUp).Row
'wichtig: Druckbereich neu definieren bzw. anpassen
.PageSetup.PrintArea = "$A$1:$Z$" & loletzte
'wichtig: Cursor hinter die letzte Zeile setzen, ansonsten
'werden nur die Seitenumbrüche bis zur Cursorzeile berücksichtigt
.Range("A" & loletzte + 1).Select
'Arbeitsmappe sichern
ThisWorkbook.Save
'alle Unterstriche entfernen, falls manuelle Umbrüche gelöscht wurden
'die Randeinstellung für diese Zellen bleiben sonst erhalten
.Range("A1" & ":E" & loletzte + 10).Borders.LineStyle = xlLineStyleNone
'Rahmen für Umbrüche neu setzen
For Each hpb In .HPageBreaks
With hpb.Location.Offset(-1, 0).Resize(, 5)
.Borders(xlEdgeBottom).Weight = xlMedium
End With
Next
End With
Set hbp = Nothing
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: gesucht Makro: Dicke Rahmenlinie bei Seitenumbruch
21.09.2011 21:22:18
Marcy
Ich versuchs mal mit einem FileUpload, hoffe es klappt, habe es noch nie gemacht.
Die Datei zeigt ungefähr was ich brauche.
https://www.herber.de/bbs/user/76717.xls
Gruß Marcy
AW: gesucht Makro: Dicke Rahmenlinie bei Seitenumbruch
22.09.2011 07:04:46
Luschi
Hallo Marcy,
hier mal mein Makro angepaßt auf alle Arbeitstabrellen Deines Beispiels.
Infos dazu stehen auf dem 1. Tabellenblatt und als Kommentare im Vba-Code.
https://www.herber.de/bbs/user/76720.xls
Gruß von Luschi
aus klein-Paris
AW: gesucht Makro: Dicke Rahmenlinie bei Seitenumbruch
22.09.2011 13:28:52
Marcy
Hallo Luschi,
fast richtig, mit Betätigung von Start verschwinden meine manuell eingegebenen Rahmen.
Das Makro soll nur zusätzlich am Seitenumbruch eine dicke Rahmenlinie unten ziehen.
Die anderen Rahmen allerdings unverändert lassen.
Gruß Marcy
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige