Bedingtes/automatisches Gruppieren

Bild

Betrifft: Bedingtes/automatisches Gruppieren
von: Varus
Geschrieben am: 12.11.2015 11:33:45

Hallo nochmal,
ich habe hier ein Problem mit der Übersicht. Daher möchte ich gerne die Daten gruppieren. In Spalte A habe ich Projektnummern die sich immer jeweils 6 mal wiederholen. Nun möchte ich das gerne so Gruppieren dass ich jeweils immer jede Projektnummer nur einmal sehe. Klar kann man das händig machen, allerdings muss es da doch eine elegantere Lösung für geben vor allem wenn es sich um 1000 Zeilen handelt.
Hier habe ich ein Beispiel angehangen:
https://www.herber.de/bbs/user/101448.xlsx
Vielen Dank für eure Hilfe!
Gruß Varus

Bild

Betrifft: AW: Bedingtes/automatisches Gruppieren
von: Matthias
Geschrieben am: 13.11.2015 03:12:52
Hallo Varus,
bitte entferne vorher die bestehende Gliederung.

Sub Gruppieren()
Dim cRows As Collection, lZeile As Long, sProjekt As String
With Sheets("Tabelle1")
    lZeile = 2
    Do
        Set cRows = New Collection
        sProjekt = .Cells(lZeile, 1)
        Do
            cRows.Add lZeile
            lZeile = lZeile + 1
        Loop While .Cells(lZeile + 1, 1) = sProjekt
        If cRows.Count > 1 Then
            Rows(cRows.Item(1) & ":" & cRows.Item(cRows.Count)).Group
            lZeile = lZeile + 1
        End If
    Loop While .Cells(lZeile, 1) <> ""
End With
End Sub
lg Matthias

Bild

Betrifft: AW: Bedingtes/automatisches Gruppieren
von: Matthias
Geschrieben am: 13.11.2015 11:23:21
Hallo Varus,
bitte füge in folgender Zeile vorn einen Punkt an:

.Rows(cRows.Item(1) & ":" & cRows.Item(cRows.Count)).Group

Ist nur minimal, kann u.U. aber ernsthafte Folgen haben.
lg Matthias

Bild

Betrifft: AW: Bedingtes/automatisches Gruppieren
von: Varus
Geschrieben am: 15.11.2015 13:55:55
Hi Matthias,
vielen Dank für deine Hilfe! Es funktioniert!
Gruß Varus

Bild

Betrifft: AW: Bedingtes/automatisches Gruppieren
von: Varus
Geschrieben am: 15.11.2015 14:07:21
Edit: Ist es möglich dass die gruppierten Elemente nach der Ausführung alle geschlossen sind?
Danke!
Gruß Varus

Bild

Betrifft: AW: Bedingtes/automatisches Gruppieren
von: Varus
Geschrieben am: 17.11.2015 10:32:55
Hallo nochmal!
Edit: Die Frage mit dem öffnen und schließen der Gruppierungen hat sich erledigt.
Eine andere Sache ist, so wie es momentan gruppiert wird ist im geschlossenen Modus nur die letzte Zeile lesbar. Kann man das auch so machen, dass die oberste Zeile lesbar bleibt? Mit dem verändern der Einstellung Daten/Gruppierung und Gliederung/Einstellungen, den Haken bei "Hauptzeilen unter Detaildaten" rausnehmen verschiebt sich alles. So wird dann die letzte Position die erste für den nächsten Block sein.
Hier ein Beispiel, die Funktion "Gruppieren" mit dem obigen Quellcode ist als Makro hinterlegt und kann mit "STRG+y" abgerufen werden:
https://www.herber.de/bbs/user/101584.xlsm
Ich danke!
Gruß Varus

Bild

Betrifft: AW: Bedingtes/automatisches Gruppieren
von: Matthias
Geschrieben am: 17.11.2015 21:36:13
Hallo Varus,
sicher lässt sich das machen.

Sub Makro1()
'Dim cRows As Collection, lZeile As Long, sProjekt As String
With ActiveSheet
    lZeile = 2
    Do
        Set cRows = New Collection
        sProjekt = .Cells(lZeile, 1)
        Do
            lZeile = lZeile + 1
            cRows.Add lZeile
        Loop While .Cells(lZeile, 1) = sProjekt
        If cRows.Count > 1 Then
            .Rows(cRows.Item(1) & ":" & cRows.Item(cRows.Count - 1)).Group
        End If
    Loop While .Cells(lZeile, 1) <> ""
    .SummaryRow = xlAbove
End With
End Sub
lg Matthias

 Bild

Beiträge aus den Excel-Beispielen zum Thema "bis zur letzt beschriebenen Zelle kopieren"