Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1632to1636
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

automatisch blattfüllend Leerzeilen einfügen?

automatisch blattfüllend Leerzeilen einfügen?
04.07.2018 16:29:00
Bernd
Hallo zusammen,
versuche gerade unsere Inventurlisten-Erstellung etwas zu automatisieren...
In einem Tabellenblatt haben wir zig Einträge, je nach Zelleintrag in Spalte 'Inventurliste' werden die dann auf die einzelnen Blätter kopiert.
Soweit klappts ja.
Mein Problem ist eigentlich nur die letzte Seite, welche blattfüllend mit einer Zeile mit Datum-Unterschrift Zähler-Unterschrift Schreiber endet.
Diese Zeile in die Fußzeile zu packen macht ja auch wenig Sinn, da die ja nur auf der letzten Seite gedruckt werden soll.
Hab mir irgendwie sowas in der Art gedacht... gehe zur letzten Zeile, also der mit der Unterschrift, dann prüfe die Anzahl der Leerzeilen davor - mindestens 5 müssen vorhanden sein, danach soll das letzte Tabellenblatt blattfüllend mit Leerzeilen zwischen dem letzten Eintrag und der Unterschriftszeile aufgeüllt werden.
Ist sowas umsetzbar oder eher der falsche Weg?
hier noch ne Beispieldatei: wobei es halt nächstes Quartal wieder 3 oder 4 Seiten sein können
https://www.herber.de/bbs/user/122480.xlsx
Bin für jede Anregung dankbar. Gruß Bernd

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: automatisch blattfüllend Leerzeilen einfügen?
04.07.2018 16:47:13
Daniel
Hi
muss diese Unterschriftenzeile unbedingt ganz unten stehen?
reicht es nicht, wenn sie genügend Abstand zur letzten Datenzeile hat?
das mit den "mindest 5" würde ich darüber lösen, dass die Zeilenhöhe dieser Unterschriftenzeile groß genug gewählt wird.
ansonsten per makro:
solange Leerzeilen einfügen, bis sich die Anzahl der Seitenumbrüche erhöht und dann den die zuletz eingefügte Zeile wiedre löschen.
Sub xxx()
Dim Zelle As Range
Dim anzHPB As Long
Set Zelle = Cells(Rows.Count, 1).End(xlUp).Offset(-1, 0)
anzHPB = ActiveSheet.HPageBreaks.Count
Do
Zelle.EntireRow.Insert Shift:=xlDown
Loop While ActiveSheet.HPageBreaks.Count = anzHPB
Zelle.EntireRow.Delete
End Sub

Gruß Daniel
Anzeige
perfekt :)
05.07.2018 10:19:56
Bernd
Hallo nochmal,
perfekt, habs noch'n bisschen um die Mindestanzahl erweitert.
Jetzt scheints zu tun was es soll.
Gruß Bernd
Sub xxx()
Dim Zelle As Range
Dim anzHPB As Long
i = 5 'Mindestanzahl an Leerzeilen
lz1 = Cells(1, 1).End(xlDown).Row 'letzte Zeile normale Inhalte
lz2 = Cells(1048576, 1).End(xlUp).Row 'letzte Listende
If lz1 = lz2 Then
MsgBox "Unterschriftszeile fehlt! Makro wird vorzeitig beendet", vbCritical, "Fehler"
Exit Sub
End If
anzl = lz2 - lz1 - 1    'Anzahl vorhandener Leerzeilen
'Einfügen der Mindestanzahl an Leerzeilen
Set Zelle = Cells(Rows.Count, 1).End(xlUp).Offset(-1, 0)
If anzl 

Anzeige
AW: perfekt :)
06.07.2018 09:58:09
Bernd
Hallo, muss mich doch noch mal melden...
Bei meinen Tests hat ja alles bestens funktioniert, jetzt leider nimmer so.
Führe ich den Code aus einem anderen Tabllenblatt aus, bleibt er in einer Endlosschleife hängen bei:
Loop While ActiveSheet.HPageBreaks.Count = anzHPB
Mir ist jezt nur aufgefallen, dass wenn man ans Ende der Liste springt,so dass die gestrichelten Linien für einen Seitenumbruch erkennbar sind, dann funktionierts, ansonsten die Endlosschleife.
Gibts hierfür auch noch ne Lösung? Danke Euch - Gruß Bernd
erledigt
06.07.2018 15:21:23
Bernd
Hallo,
hat sich doch erledigt, falsch festgelegte Druckbereiche hatten diese Endlosschleifen zur Folge.
Gruß Bernd
Anzeige
AW: VBA
04.07.2018 16:57:03
Fennek
Hallo,
passt das?

Sub T_1()
Dim WS As Worksheet: Set WS = ActiveSheet
Dim Hp As HPageBreak
lr = Cells(Rows.Count, 1).End(xlUp).Row
Range("A1").End(xlDown).Offset(1).PageBreak = xlPageBreakManual
MxL = WS.HPageBreaks.Item(1).Location.Row
Lhp = WS.HPageBreaks.Item(WS.HPageBreaks.Count).Location.Row
Einf = (lr - Lhp) Mod MxL
Rows(Lhp & ":" & Lhp + Einf).Insert xlDown
End Sub
mfg
AW: VBA
05.07.2018 10:24:52
Bernd
Hallo,
danke auch Dir Fennek :)
hab mich dann aber für die andere Variante entschieden, da die für mich einfacher nachzuvollziehen und zu ergänzen war.
Gruß Bernd
Anzeige
AW: automatisch blattfüllend Leerzeilen einfügen?
04.07.2018 17:11:31
Bernd
Hallo zusammen,
vielen Dank Euch, is ja echt spitze.
Nur richtig testen kann ich grad nimmer, muss los.
@Daniel - die 5 Leerzeilen sind nur dafür da, falls neue Einträge manuell ergänzt werden. Diese müssen mindestens zwischen letztem Eintrag und Unterschrift vorhaden sein. Schaut aber gut aus, nur werden eben diese 5 Leerzeilen noch nicht berücksichtigt.
@Fennek - konnt nur kurz mal laufen lassen, war aber dann nicht blattfüllend.
Gruß Bernd

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige