Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilen nach Spalteninhalt gruppieren

Zeilen nach Spalteninhalt gruppieren
26.11.2018 08:27:34
Benny
Moin zusammen,
mein alter Beitrag ist leider etwas ins Nirvana gerutscht. Daher hier noch ein Versuch.
Alter Beitrag inkl. eines Lösungsansatzes von Daniel:
https://www.herber.de/cgi-bin/callthread.pl?index=1658193
Fragestellung:
Hallo zusammen,
ich habe aktuell ein Problem in der Umsetzung bzgl. der Sortierung einer Tabelle.
Ich habe mich bereits durch mehrere Beiträge gelesen, jedoch habe nichts gefunden was ich mit  _
meinen rudimentären VBA Kenntnissen auf meine Bedürfnisse hätte anpassen können. :-)
Ich importiere eine Liste aus unserer Warenwirtschaft und möchte diese für Besprechungen ein  _
wenig aufbereiten.
Die Daten werden über das Rahmenprojekt vorsortiert, sodass alle Zeilen sortiert vorliegen.
Bei der exportierten Liste möchte ich nun, ähnlich der Funktion Teilergebnis, alle Zeilen, die  _
in Spalte A einen identischen Wert haben gruppieren.
Wenn das entsprechende Projekt besprochen wird möchte ich gerne mit dem
+ / - Button die Gruppierung erweitern um die Details sehen zu können.
Das Ergebnis aus der Funktion "Teilergebnis" finde ich zu unübersichtlich, da die zusätzliche  _
Zeile eingefügt wird.
Die normale Funktion Gruppieren finde ich deutlich besser, bei 150 Projekten die jede Woche  _
besprochen werden müssen ist das per Handarbeit allerdings nicht leistbar.
Schön wäre dann noch wenn die erste Zeile der Gruppe in Fettschrift dargestellt könnte.
Ich habe mal ein ganz einfaches Beispiel angefügt.
Der Lösungsansatz ist genau wie ich mir das vorgestellt habe. Leider gibt es da jedoch noch Probleme mit dem korrekten Gruppieren.
Lösungsansatz:
Hi
Sub test()
Dim Bereich As Range
With ActiveSheet.UsedRange
With .Columns(.Columns.Count + 1)
With .Resize(.Rows.Count - 1).Offset(1, 0)
.FormulaR1C1 = "=IF(R[-1]C1=RC1,1,false)"
Intersect(.Parent.UsedRange, .SpecialCells(xlCellTypeFormulas, 4).EntireRow) _
.Font.Bold = True
For Each Bereich In .SpecialCells(xlCellTypeFormulas, 1).Areas
Bereich.EntireRow.Group
Next
.ClearContents
End With
End With
End With
End Sub
Gruß Daniel
Zitat aus dem alten Beitrag:
Hi Daniel!
Vielen lieben Dank für die echt schnelle Hilfe!!! :-)
Ich habe mit meinen aktuellen Kenntnissen mal versucht den Code zu verstehen. Leider ü _
berschreitet das aktuell meinen Horizont.
Wäre es mögich eine Erklärung zu diesem Bereich zu bekommen:
With .Columns(.Columns.Count + 1)
With .Resize(.Rows.Count - 1).Offset(1, 0)
.FormulaR1C1 = "=IF(R[-1]C1=RC1,1,false)"
Intersect(.Parent.UsedRange, .SpecialCells(xlCellTypeFormulas, 4).EntireRow) _
.Font.Bold = True
For Each Bereich In .SpecialCells(xlCellTypeFormulas, 1).Areas
Bereich.EntireRow.Group
Next
.ClearContents
Im ersten Feldversuch habe ich festgestellt, dass Zeilen mit unterschiedlichem Zellinhalt  _
dennoch gruppiert wurden.
Es muss nach dem Merkmal "Rahmenprojekt", also nach dem Inhalt in Spalte B gruppiert werden.
Vielleicht liegt es daran. Aufgrund des mangelhaften Hintergrundwissens bekomme
ich die Anpassung des Codes leider nicht selbst bewerkstelligt.
Kannst du da nochmal unterstützen?
Gruß
Benny

Könnt ihr mich da nochmal unterstützen?
Gruß
Benny

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen nach Spalteninhalt gruppieren
28.11.2018 00:20:33
Werner
Hallo Benny,
die Formel im Code ist für Spalte A ändere sie doch mal auf Spalte B
.FormulaR1C1 = "=IF(R[-1]C2=RC2,1,false)"
Gruß Werner
AW: Zeilen nach Spalteninhalt gruppieren
28.11.2018 00:40:22
Werner
Hallo Benny,
hier jetzt noch mal der ganze Code mit dem Zusatz, dass die Gruppierungen eingeklappt sind.
Sub test()
Dim Bereich As Range
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
With .Columns(.Columns.Count + 1)
With .Resize(.Rows.Count - 1).Offset(1, 0)
.FormulaR1C1 = "=IF(R[-1]C2=RC2,1,false)"
Intersect(.Parent.UsedRange, .SpecialCells(xlCellTypeFormulas, 4) _
.EntireRow).Font.Bold = True
For Each Bereich In .SpecialCells(xlCellTypeFormulas, 1).Areas
Bereich.EntireRow.Group
Bereich.EntireRow.Hidden = True
Next
.ClearContents
End With
End With
End With
End Sub
Gruß Werner
Anzeige
AW: Zeilen nach Spalteninhalt gruppieren
30.11.2018 11:31:54
Benny
Hallo Werner,
danke für die Unterstützung!
Funktioniert genau so wie es soll...auch wenn ich nicht verstehe was das Makro da so treibt! :-)
Eine Idee für die nächste Ausbaustufe habe ich auch noch, aber ich werde jetzt erstmal damit arbeiten um zu sehen ob uns das Ganze für die Besprechungen nach vorne bringt.
Vielen Dank nochmal!
Gruß
Benny
Gerne u. Danke für die Rückmeldung. o.w.T.
30.11.2018 13:57:09
Werner

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige