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

Zeilenumbruch

Zeilenumbruch
18.07.2023 16:32:06
Pascal
Hallo liebe User,

da es vorhin super mit einer Lösung geklappt hat gleich die nächste Problemstellung.

Es geht weiterhin um eine Berichtserstellung, die wir automatisieren wollen. Hintergrund ist der, dass meine Kollegen und ich es alle zu uneinheitlich machen.

1. Auf einem Worksheet soll der Bericht geschrieben werden mit per Makro einzufügenden Zeilen - funktioniert (wenn auch evtl. hässlich, aber hey...)
2. Der ausgefüllte dynamische Bereich soll kopiert werden. - funktioniert
3. Der kopierte Teil soll ab einer bestimmten Stelle in einem anderen Blatt eingefügt werden - funktioniert jetzt (dank der genialen community)

4. Die kopierten/eingefügten zusammenhängenden Abschnitte sollen beim Seitenumbruch (A4 Format) nicht zerstückelt werden. Im Idealfall sollten keine Hurenkinder und Schusterjungen entstehen.

Wie stellet man das an?
Abfragen wie viele Zeilen zum Seitenumruch übrig sind und diese dann durch leerzeilen ersetzen, damit ein Zusammenhängender Block nicht zerissen wird?
Bzw. Die Daten sind ja bereits reinkopiert, also vielleicht eine nachträgliche bereinigung.

Habe einen sehr ähnlichen thread hier im Forum gefunden. Leider wurde die Lösung scheinbar per pn auf einem anderen Forum beantwortet... verstehe wer will =).

So kopiert er den dynamischen Bereich und fügt ihn ein... und macht mir woanders was zur bestätigung bunt =)


 Sub Bereichsauswahl_Bericht()
   
   ' markiert dynamisch den ausgefüllten Bericht aus und kopiert ihn
       Dim sht As Worksheet, rf As Worksheet
       Dim LR As Long
       Dim rng As Range
       Dim zeil As Long
   
       Set sht = Worksheets("Tabelle1")
       Set rf = Worksheets("report full")
  
       LR = sht.Cells.Find("*", _
               SearchOrder:=xlByRows, _
               SearchDirection:=xlPrevious).Row
       
       Set rng = sht.Range("C3:K" & LR)
       rng.Copy rf.Cells(22, 1)
       
       For zeil = rng.Row To rng.Row + rng.Rows.Count - 1 'durch alle Zeilen des Bereichs gehen
           rf.Rows(zeil + 19).RowHeight = sht.Rows(zeil).RowHeight 'höhe kopieren
       Next zeil
       
       Range("C18").Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 5287936
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Range("C18").Value = "Datenübertragung erfolgreich!"
    
    Range("C26").Value = Format(Now, "hh:mm dd.mm.yy")
       
   End Sub


Hier noch die Datei um die es sich handelt
https://www.herber.de/bbs/user/159975.xlsm

Vielen Dank schonmal für die Antworten =D

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilenumbruch
18.07.2023 20:16:44
JoWE
Hallo,
und warum nicht mit der Textverarbeitung?
Die kann auch Daten aus Excel abholen und weiterverwenden.
Gruß
Jochen

AW: Zeilenumbruch
19.07.2023 09:09:38
Pascal Gundlach
Hallo Jochen,

uh mit Word kenne ich mich noch weniger aus als mit Excel. Mit einer Verknüpfung zurzeit erst recht nicht.
Es sollte in Zukunft auch zum Bericht eine Maschinenleistungserfassung mit dem Bericht erfolgen, dass macht sich mit Excel wirklich besser.

Falls es nicht anders geht muss ich noch in die Richtung Word umdenken. Hatten schon eine Version, die wir so in Word erstellt haben. Die ausgegebenen PDFs waren schöner und mit einem Blatt auch schlanker. Nur das Ergebnis Schichtbericht war, fertig ausgefüllt, meißt... unschön.

Da lagen die Fehler zwar eindeutig vor dem Bildschirm, aber mit der "Fehlerbehebung" habe ich und auch einige anderen Kollegen innerlich abgeschlossen.

Ziel ist es etwas zu schaffen an dem sich die verschiedenen Bediener/Ausfüller entlanghangeln können und deren Freihandeingabe auf einem "Schmierblatt" (Tabelle1) automatisch richtig formatiert in das fertige Template eingefügt werden.
Dann ist alles einheitlich (zumindest eher als vorher) und alle sind happy.

Danke für den Vorschlag

Liebe Grüße
Pascal

Anzeige
AW: Zeilenumbruch
19.07.2023 16:26:14
Daniel
irgendwie solltest du vielleicht etwas besser beschreiben, wo das Problem liegt und zwar mit Bezug auf deine Beispieldatei, damit man weiß was man tun muss um dein Problem nachzuvollziehen.
ich finde in deiner Beschreibung keinen Bezug zu deiner Datei, dh. um welchen Blattnamen geht es, wo muss man was eingeben, welchen Button muss man klicken usw.
Gruß Daniel

AW: Zeilenumbruch
20.07.2023 09:49:09
Pascal Gundlach
Hallo Daniel,
Hallo an Alle;

danke für die Input. Hast damit recht, hatte es die ganze Zeit nur selbst vor den Augen und habe es nicht vermitteln können =)
Auch sorry für die Späte Antwort, wollte eine Datei zur verfügung stellen, in der alle sensiblen Daten weg sind und trotzdem alles soweit funktioniert.

Ich hoffe es wird durch das Beispiel im Bild und der Datei klar.
so zusammenhängende Zeilenblöcke würde ich lieber auf die nächste Seite bekommen. Bevor Sie so zerstückelt werden.

Userbild

File:

https://www.herber.de/bbs/user/159993.xlsm

Vielen lieben Dank und schöne Grüße =)

Anzeige
AW: Zeilenumbruch
20.07.2023 10:30:49
Daniel
da kommt das Problem nicht vor!
welche Seite ist betroffen?
ich hab keinen Plan, was du da machst.
da gibts drei Blätter, die so aussehen, keine hat das von dir beschriebene Problem

AW: Zeilenumbruch
20.07.2023 10:40:51
Pascal Gundlach
Hallo Daniel,

jetzt vielleicht?... ich schwöre ich nehme keine Drogen... habe die falsche Beispieldatei hochgeladen.

https://www.herber.de/bbs/user/159996.xlsm

Wenn man einige Zeilen auf Blatt("Tabelle1") hinzufügt werden ja logischerweise mehr zeilen in Blatt("report full") hereinkopiert.
Dann passiert genau das wie im Beispielbild und jetzt in der Datei

schöne Grüße

Anzeige
AW: Zeilenumbruch
20.07.2023 11:21:56
Daniel
ok.
der folgende Code prüft für jeden Zeilenumbruch und verschiebt diesen soweit nach oben, bis er sich in einer Zeile befindet, in der in Spalte B die Schriftgröße 12 eingetragen ist.
Die Schriftgröße 12 ist für mich hier das Merkmal, wo ein Abschnitt beginnt.

Achtung, das Selektieren des Tabellenblatts ist hier notwendig.
Auch funktioniert der Code nur in der Ansicht "Umbruchsvorschau"
Die wird vom Code eingestellt und hinterher wieder auf die alte Ansicht zurück:

Sub SeitenUmbrücheSchieben()
Dim i As Long
Dim z As Long
Dim viewAlt As Long
Sheets("report full").Select
viewAlt = ActiveWindow.View
ActiveWindow.View = xlPageBreakPreview
i = 1
With ActiveSheet.HPageBreaks
    Do While i = .Count
        z = .Item(i).Location.Row
        For z = z To 1 Step -1
            If Cells(z, 2).Font.Size = 12 Then Exit For
        Next
        Set .Item(i).Location = Cells(z, 1)
        i = i + 1
    Loop
End With
ActiveWindow.View = viewAlt
End Sub
gruß Daniel

Anzeige
AW: Zeilenumbruch
20.07.2023 12:47:16
Pascal Gundlach
Wie kommt man nur so schnell auf Lösungsideen =D Schriftgröße... genial. Danke, Daniel.

Mega er hat zwar den erstellten Seitenumbruch bei nachträglicher Änderung und Neuübertragung beibehalten, sodass Umbrüche waren obwohl Platz war, aber jetzt löscht er vor jeder Datenübertragung von Blatt2 zu Blatt3 ab Zeile 22 einfach vorher alles und es funktioniert. Herrlich.

zu dem Thema noch eine Frage:

Wie kriege ich noch zwei Leerzeilen auf die Folgeseite? Nur damit es optisch ansprechender wird.

Vielen lieben Dank für alles

AW: Zeilenumbruch
20.07.2023 12:52:44
Daniel
naja, man schaut sich das ganze an und fragt sich, woran erkenne ich einen neuen Abschnitt.
es wäre auch möglich, dass du in einer Spalte, die nicht benutzt und auch nicht ausgedruckt wird, per "x" kennzeichnest, wo ein Zeilenumbruch erlaubt ist und dann eben das abfragen.

wenn du zwischen zwei Abschnitten (also oberhalb einer Zeile mit Schriftgröße 12) immer zwei Leerzeilen hast, dann kannst du auch von der gefundenen Zeilennummer immer 2 abziehen, dann wird der Zeilenumbruch 2 Zeilen höher platziert.

Gruß Daniel

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige