Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

gesucht Makro: Dicke Rahmenlinie bei Seitenumbruch

Forumthread: 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
Anzeige
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
Anzeige
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
Anzeige
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
Anzeige

Infobox / Tutorial

Dicke Rahmenlinie bei Seitenumbruch in Excel


Schritt-für-Schritt-Anleitung

Um in Excel eine dicke Rahmenlinie bei einem Seitenumbruch hinzuzufügen, verwende das folgende Makro. Dieses Makro fügt eine dicke Linie am unteren Rand jeder Zeile ein, die einen Seitenumbruch darstellt.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen und wähle Modul.
  3. Füge den folgenden Code in das Modul ein:
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
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Führe das Makro über Entwicklertools > Makros aus.

Falls Du das Makro auf alle Arbeitsblätter anwenden möchtest, musst Du den Code entsprechend anpassen.


Häufige Fehler und Lösungen

  • Fehler bei manuellem Seitenumbruch: Wenn Du einen manuellen Seitenumbruch hinzufügst, kann es zu einem VBA-Fehler kommen. Achte darauf, dass der Druckbereich korrekt definiert ist und keine Konflikte mit den Seitenumbrüchen bestehen.

  • Dicke Rahmenlinie erscheint nicht: Stelle sicher, dass der Bereich, in dem Du die Rahmenlinie hinzufügen möchtest, korrekt ausgewählt ist. Überprüfe auch, ob der Makro ausgeführt wurde.


Alternative Methoden

Falls Du kein Makro verwenden möchtest, kannst Du auch manuell die Rahmenlinien anpassen:

  1. Wähle den Bereich aus, den Du umrahmen möchtest.
  2. Gehe zu Start > Rahmen und wähle Rahmen und Schattierung.
  3. Wähle die Dicke der Linie aus und füge sie an der gewünschten Stelle hinzu.

Um eine dicke Linie zwischen Spalten zu erstellen, kannst Du die Rahmenlinie entsprechend anpassen.


Praktische Beispiele

Angenommen, Du hast eine Tabelle mit vielen Spalten und musst eine dicke Rahmenlinie am Seitenumbruch hinzufügen. Wenn Du den oben genannten VBA-Code verwendest, wird automatisch die dicke Rahmenlinie am unteren Rand jeder Zeile, die einen Seitenumbruch darstellt, gesetzt. Das ist besonders nützlich, wenn Du oft Änderungen an Deinen MAPs vornimmst.

Ein Beispiel für die Anwendung könnte so aussehen: Nach dem Hinzufügen von Daten in Zeile 132 wird der Seitenumbruch zwischen Zeile 125 und 126 verschoben. Das Makro sorgt dann dafür, dass die dicke Rahmenlinie an der richtigen Stelle bleibt.


Tipps für Profis

  • Nutze die Möglichkeit, den Druckbereich anzupassen, um sicherzustellen, dass die dicke Rahmenlinie immer sichtbar ist. Du kannst dies unter Seitenlayout > Druckbereich festlegen.

  • Experimentiere mit verschiedenen Linienarten, wie gestrichelten oder dicken Rahmenlinien, um die Lesbarkeit Deiner Excel-Tabelle zu verbessern.

  • Um die dicken Rahmenlinien schnell zu formatieren, kannst Du auch Vorlagen erstellen, die Du für verschiedene Tabellenblätter verwenden kannst.


FAQ: Häufige Fragen

1. Wie kann ich das Makro auf alle Arbeitsblätter anwenden?
Um das Makro auf alle Arbeitsblätter anzuwenden, musst Du eine Schleife verwenden, die durch alle Blätter iteriert.

2. Was mache ich, wenn die dicke Rahmenlinie nicht angezeigt wird?
Überprüfe, ob der Druckbereich korrekt definiert ist und ob das Makro ausgeführt wurde. Manchmal kann auch die Ansichtseinstellung in Excel eine Rolle spielen.

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