Nach Spalteninhalt gruppieren
Abhängig des Inhaltes einer Zelle die Zeilen gruppieren
Hallo!
Ich habe ein Excel Sheet mit etwa 24TSD Zeilen. in der ersten Spalte steht immer eine Nummer nach der ich gruppieren will. Allerdings haben die Nummern immer unterschiedlich viele Zeilen (stehen untereinander).
Ich will nun mit, z.B. einem Makro, sämtliche Zahlen (Im konkreten Fall Arbeitsauftragsnummern) gruppieren.
Wie ist das zu realisieren?
Danke!
Ich habe ein Excel Sheet mit etwa 24TSD Zeilen. in der ersten Spalte steht immer eine Nummer nach der ich gruppieren will. Allerdings haben die Nummern immer unterschiedlich viele Zeilen (stehen untereinander).
Ich will nun mit, z.B. einem Makro, sämtliche Zahlen (Im konkreten Fall Arbeitsauftragsnummern) gruppieren.
Wie ist das zu realisieren?
Danke!
Please also mark the comments that contributed to the solution of the article
Content-Key: 68652
Url: https://administrator.de/contentid/68652
Printed on: April 24, 2024 at 12:04 o'clock
7 Comments
Latest comment
Hallo viewpoint!
Was verstehst Du eigentlich unter "Gruppierung"? Auch die Gruppierungsfunktion von Excel ("Daten / Gruppierung und Gliederung / Gruppierung..." benötigt ja irgendeine "Zwischenzeile" (Kopf oder Fuß).
So gesehen sieht Dein Vorhaben für mich derzeit eher nach "Sortierung" aus.
Grüße
bastla
Was verstehst Du eigentlich unter "Gruppierung"? Auch die Gruppierungsfunktion von Excel ("Daten / Gruppierung und Gliederung / Gruppierung..." benötigt ja irgendeine "Zwischenzeile" (Kopf oder Fuß).
So gesehen sieht Dein Vorhaben für mich derzeit eher nach "Sortierung" aus.
Grüße
bastla
Hallo viewpoint!
Versuch es mal mit dem folgenden VBA-Programm:
Die Startzeile (im Beispiel 4) musst Du natürlich Deinen Gegebenheiten anpassen.
Um sinnvoll gruppieren zu können, ist zunächst eine Sortierung erforderlich, welche Du vorweg selbst vornehmen solltest, da nur Du die Kriterien dafür kennst. Wenn Du den Sortiervorgang als Makro aufzeichnest, lässt sich dieser dann auch leicht in das Programm einbauen.
Gestartet wird über das Sub "Gliederung" (Hauptprogramm). Das Sub "Gliedern" ist für das eigentliche Zusammenfassen zuständig und wird vom Hauptprogramm selbst aufgerufen.
Es werden alle Zeilen durchlaufen, bis eine Zeile mit leerer Spalte A gefunden wird - da Du die Datenzeilen ja ohnehin zusammenhängend hast (und behalten willst), schien mir das der sinnvollste und flexibelste Weg.
Nicht berücksichtigt ist derzeit (für Excel <= 2003) die Möglichkeit , dass das Tabllenblatt bis zur Zeile 65536 gefüllt sein könnte.
Grüße
bastla
Versuch es mal mit dem folgenden VBA-Programm:
Sub Gliederung() 'Dieses Sub zum Starten verwenden!
r = 4 'erste Zeile mit Daten
st = r
PANr = ""
Do While Cells(r, 1).Value <> ""
ANr = Cells(r, 1).Value
If ANr <> PANr Then
Gliedern st, r
st = r
End If
PANr = ANr
r = r + 1
Loop
Gliedern st, r
End Sub
Sub Gliedern(st As Integer, r As Integer)
If st < (r - 1) Then
Range(Rows(st), Rows(r - 2)).Rows.Group
End If
End Sub
Um sinnvoll gruppieren zu können, ist zunächst eine Sortierung erforderlich, welche Du vorweg selbst vornehmen solltest, da nur Du die Kriterien dafür kennst. Wenn Du den Sortiervorgang als Makro aufzeichnest, lässt sich dieser dann auch leicht in das Programm einbauen.
Gestartet wird über das Sub "Gliederung" (Hauptprogramm). Das Sub "Gliedern" ist für das eigentliche Zusammenfassen zuständig und wird vom Hauptprogramm selbst aufgerufen.
Es werden alle Zeilen durchlaufen, bis eine Zeile mit leerer Spalte A gefunden wird - da Du die Datenzeilen ja ohnehin zusammenhängend hast (und behalten willst), schien mir das der sinnvollste und flexibelste Weg.
Nicht berücksichtigt ist derzeit (für Excel <= 2003) die Möglichkeit , dass das Tabllenblatt bis zur Zeile 65536 gefüllt sein könnte.
Grüße
bastla