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

variabler Seitenumbruck

Forumthread: variabler Seitenumbruck

variabler Seitenumbruck
06.07.2021 14:36:40
Alwin
Hallo VBA-Forum User,
Ich habe mir in Excel eine Tabelle "Hüttenbelegung" erstellt.
Diese sieht wie folgt aus:
https://www.herber.de/bbs/user/146978.xlsx
Der Druckbereich ist auf den Spalten 01 (Hütte) bis Spalte 03 (Vorname) festegelegt.
Jetzt möchte ich, das jede Hütte auf einer Seite ausgedruckt wird.
Hierzu habe ich folgenden VBA-Code gefunden:

Sub Umbruch()
Dim rngC As Range
Cells.PageBreak = xlPageBreakNone
For Each rngC In Columns("D").SpecialCells(xlCellTypeConstants)
If rngC.Value = "JA" Then rngC.EntireRow(2).PageBreak = xlPageBreakManual
Next rngC
End Sub
Wenn ich diesen Code ausführe, bekomme ich eine Fehlermeldung.
Beim debuggen wird die Zeile gelb "Cells.PageBreak = xlPageBreakNone"
Da ich absoluter Laie bin brauche ich Hilfe
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: variabler Seitenumbruck
06.07.2021 14:55:21
UweD
Hallo
Die Ja Spalte brauchst du nicht.
das makro kann doch selbst checken, wann der Wechsel vorliegt
versuch das mal

Sub Seitenwechsel()
On Error GoTo Fehler
Dim TB1, i%
Dim SP%, ZE&, LR&
'*** Stammdaten Anfang
Set TB1 = Sheets("Tabelle1")
SP = 4 'Spalte D
ZE = 2 'ab Zeile wegen Überschrift
'*** Stammdaten Ende
With TB1
.ResetAllPageBreaks
LR = .Cells(.Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
For i = ZE To LR
If .Cells(i + 1, SP)  .Cells(i, SP) Then
.HPageBreaks.Add Before:=.Cells(i + 1, SP)
End If
Next
End With
MsgBox "fertig"
'*** Fehlerbehandlung
Err.Clear
Fehler:
Application.EnableEvents = True
If Err.Number  0 Then MsgBox "Fehler: " & _
Err.Number & vbLf & Err.Description: Err.Clear
End Sub
LG UweD
Anzeige
AW: variabler Seitenumbruck
06.07.2021 19:21:57
Alwin
Hallo Uwe,
danke für die schnelle Beantwortung.
In der 1.Tabelle, die ich hochgeladen habe hat dein Code super funktioniert.
Nun habe ich versuche, diese in meine Tabelle einzupflegen - leider ohne Erfolg!
Deshalb habe ich jetzt meine eigentliche Tabelle hochgeladen
https://www.herber.de/bbs/user/146987.xlsm
Hier habe ich versucht, den Code "Tabelle3=Hüttenbelegung" reinzu koperen!!!
Leider ohne Erfolg
Anzeige
AW: variabler Seitenumbruck
07.07.2021 09:16:14
UweD
Hallo
Was denkst du, wofür der extra gekennzeichnete Bereich im Kopf des Makros ist?
Passe das hier

'*** Stammdaten Anfang
Set TB1 = Sheets("Tabelle1")
SP = 4 'Spalte D
ZE = 2 'ab Zeile wegen Überschrift
'*** Stammdaten Ende

auf deine neue Datei an.

'*** Stammdaten Anfang
Set TB1 = Sheets("Hüttenbelegung")
SP = 3 'Spalte C 'Spalte mit wechselndem Merkmal
ZE = 7 'ab Zeile wegen Überschrift
'*** Stammdaten Ende
dann läuft das
LG UweD
Anzeige
AW: variabler Seitenumbruck
07.07.2021 13:31:24
Alwin
Hallo Uwe,
ich habe meinen Fehler gefunden:
1. ich hatte "Set TB1 = Sheets("Tabelle3") " anstatt "Set TB1 = Sheets("Hüttenbelegung")" eingetragen,
da im VBA die Tabelle unter "Tabelle3 (Hüttenbelegung)" eingetragen ist.
Den der Seitenumbruch soll erst stattfinden sobald sich die Hüttenbezeichnung ( Hütte 01; Hütte 02) ändert,
und nicht breits bei den Hütten-Verantwortlichen, die sogenannten "Teamer" (Hütte 01 - Teamer; Hütte 02 - Teamer).
Dafür ist wird in der "Spalte H" jeweils das Wort "Seitenwechsel" automatisiert eingetragen, sobald ein Seitenwechsel gemacht werden soll
2. ich hatte "SP = 8 'Spalte H" eingetragen, da in dieser Spalte das Wort "Seitenwechsel"
in der betreffenden Zeile steht, wo ein Seitenwechsel stattzufinden hat!!
Die Spalte H ist farblich so hinterlegt, das die Schriftfarbe gleich Rahmenfarbe ist, somit fällt dem Benutzer dies nicht auf !!!
Anzeige
AW: variabler Seitenumbruck
07.07.2021 14:09:14
UweD
Hallo
das ist ja Wahnsinn, was du da in dem Blatt Berechnung alles für Formeln drinstehen hast...
Hierdurch wird das "- Teamer" außen vor gelassen

Sub Seitenwechsel()
On Error GoTo Fehler
Dim TB1, i%
Dim SP%, ZE&, LR&, Ohne$
'*** Stammdaten Anfang
Set TB1 = Sheets("Hüttenbelegung")
SP = 3 'Spalte C
ZE = 7 'ab Zeile wegen Überschrift
Ohne = " - Teamer" 'bleibt unberücksichtigt
'*** Stammdaten Ende
With TB1
.ResetAllPageBreaks
LR = .Cells(.Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
For i = ZE To LR - 1
If Replace(.Cells(i + 1, SP), Ohne, "")  Replace(.Cells(i, SP), Ohne, "") Then
.HPageBreaks.Add Before:=.Cells(i + 1, SP)
End If
Next
End With
MsgBox "fertig"
'*** Fehlerbehandlung
Err.Clear
Fehler:
Application.EnableEvents = True
If Err.Number  0 Then MsgBox "Fehler: " & _
Err.Number & vbLf & Err.Description: Err.Clear
End Sub
LG UweD
Anzeige
AW: variabler Seitenumbruck
07.07.2021 14:50:57
Alwin
Super klappt hervorragend.
Gibt es auch eine Möglichkeit, den Code so zu erweitern,
dass wenn in der Spalte H das Wort "Seitenwechsel" steht,
dann dieser Seitenwechsel durchgeführt wird?
Dann könnte ich das in meinen anderen Tabellen ebenfalls einfügen!
Ich würde dann zum Beispiel in der Tabelle 2 (Schnelltest) nach x-Einträgen (x=15)
einen Seitenwechsel durchführen.
Wiederum in der Tabelle 5 (Tabelle3) könnte ich als Geburtstagsliste jeden Monat oder jedes Quartal
einen Seitenwechsel durchführen.
Ich wäre somit sehr flexibel mit dem VBA-Code!
LG
Alwin
Anzeige
AW: variabler Seitenumbruck
07.07.2021 15:17:16
UweD

Sub Seitenwechsel()
On Error GoTo Fehler
Dim TB1, i%, SW$
Dim SP%, ZE&, LR&
'*** Stammdaten Anfang
Set TB1 = Sheets("Hüttenbelegung")
SP = 8 'Spalte H
ZE = 7 'ab Zeile wegen Überschrift
SW = "Seitenumbruch"
'*** Stammdaten Ende
With TB1
.ResetAllPageBreaks
LR = .Cells(.Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
For i = ZE To LR - 1
If Cells(i + 1, SP) = SW Then
.HPageBreaks.Add Before:=.Cells(i + 1, SP)
End If
Next
End With
MsgBox "fertig"
'*** Fehlerbehandlung
Err.Clear
Fehler:
Application.EnableEvents = True
If Err.Number  0 Then MsgBox "Fehler: " & _
Err.Number & vbLf & Err.Description: Err.Clear
End Sub

Anzeige
Lösung
07.07.2021 18:07:27
Alwin
Hallo Uwe,
das ist genau das, was ich gesucht habe.
Danke für die super Unterstützung
LG
Alwin
;

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