Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Seitenumbruch nach Gruppen
#1
Guten Tag,

als durchschnittlicher Excel-Anwender versuche ich mich an folgender Problemstellung:
Ich habe eine Teilnehmerliste mit ca. 300 Personen, in dieser werden in Spalte A die jeweiligen Berufe geführt.
Nun möchte ich die Liste gern bei Wechsel der Berufe automatisch einen Seitenumbruch einfügen lassen. Dazu habe ich ein Makro gefunden, welches dies erledigt.
Möglicherweise ist gruppenweises Drucken allerdings auch mit hauseigenen Mitteln von Excel möglich --> hier würde ich mich über sachdienliche Hinweise freuen.

Ein Problem für das ich bislang allerdings keine Lösung gefunden habe, ist es den Zellbezug für die Überschrift nach jedem Seitenumbruch auf die jeweils 2. Zeile der ersten Spalte setzen zu lassen.
Wie ist dies möglich?

Ich hoffe mein Anliegen verständlich erklärt zu haben und freue mich über eine Hilfe.
Herzliche Grüße
Stefan
Antworten Top
#2
(29.11.2022, 10:35)Stefan2103 schrieb: Ein Problem für das ich bislang allerdings keine Lösung gefunden habe, ist es den Zellbezug für die Überschrift nach jedem Seitenumbruch auf die jeweils 2. Zeile der ersten Spalte setzen zu lassen.
Wie ist dies möglich?

Hallo Stefan,

wenn ich dich richtig verstanden habe, müsste dir folgendes weiterhelfen:

Seite einrichten / Blatt / Wiederholungszeichen oben
--> hier dann die Zeile 2 markieren.
(vgl. Screenshot)

Beste Grüße


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#3
Photo 
Zunächst einmal herzlichen Dank.

Leider war meine Erklärung wohl doch nicht so verständlich. Ich füge dazu einfach mal einen Screenshot ein:

Wie auf dem Bild zu sehen, steht in der ersten Spalte der jeweilige Beruf. Die Seitenüberschrift greift auf die Zelle A4 zu, um von dort den passenden Wert als Überschrift auszugeben.
Das Fixieren der ersten drei Zeilen ist kein Problem und wir auf alle Seiten übernommen.

Allerdings soll nach dem Umbruch die Titelzeile nicht mehr auf die Zelle A4 zugreifen, sondern auf erste Datenzeile des dann aktuellen Tabellenbereichs.
So wären in dem Beispiel die Zeilen 4+5 auf einer Seite und nach dem Wechsel der Berufsgruppe die Zeilen 6-10 auf der nächsten Seite. Hier wäre dann also Zeile 6 die erste Datenzeile und dementsprechend sollte die Überschrift auf die A6 verweisen.

Da reale Beispiel hat natürlich deutlich mehr Daten pro Berufsgruppe.

War das nun verständlicher?

Danke und Gruß,
Stefan.

   
Antworten Top
#4
Ich möchte mich noch einmal kurz melden, denn schließlich gibt es vielleicht irgendwann einmal jemanden der vor einem ähnlichen Problem steht.

Mein Lösungsweg ist nun (dank eines Kollegen) ein anderer. Statt der Umbrüche arbeitet meine Datei nun mit automatischen Filtern. Diese werden bei Änderung des Wertes in der ersten Spalte mit dem jeweils vorherigen belegt und das Blatt anschließend gedruckt. 
Nachteil: 20 Druckaufträge statt einem, aber dafür läuft es wie gewünscht.

Hier der zugehörige Code:

Code:
Sub Sammeldruck_Zimmerlisten()

Dim i As Integer
Dim intLetzteZeile As Integer
Dim strGruppe As String
Dim strVorgruppe As String
Dim wb As Workbook
Dim ws1 As Worksheet

'Aktuelles Workbook und Worksheet in Variable speichern
Set wb = ThisWorkbook
Set ws1 = wb.Sheets("Zimmerliste")


    With ws1
        'Letzte Zeile in der ein Wert steht bestimmen
        intLetzteZeile = .Cells(Rows.Count, 1).End(xlUp).Row
       
        'Tabelle von Zeile 4 bis zu letzter verwendeten Zeile durchlaufen
        For i = 4 To intLetzteZeile
       
            strVorgruppe = ws1.Cells(i - 1, 1).Value
            strGruppe = ws1.Cells(i, 1).Value
           
            'Prüfen ob sich die Gruppe geändert hat
            If strVorgruppe <> strGruppe Then
                'Tabelle nach aktueller Gruppe filtern
                ws1.Range(Cells(3, 1), Cells(3, 2)).AutoFilter _
                Field:=1, _
                Criteria1:=strGruppe, _
                VisibleDropDown:=True
               
                Debug.Print strGruppe
                'Seite drucken
                .PrintOut Copies:=1
           
            Else
                'Bei Gruppenwechsel Filter zurücksetzen
                If ActiveSheet.AutoFilterMode Then
                    ActiveSheet.AutoFilterMode = False
                End If
           
            End If
           
        Next i
            'Filter zurücksetzen
                If ActiveSheet.AutoFilterMode Then
                    ActiveSheet.AutoFilterMode = False
                End If
    End With
End Sub
Gruß, Stefan
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste