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!
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!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 68652
Url: https://administrator.de/contentid/68652
Ausgedruckt am: 19.11.2024 um 19:11 Uhr
7 Kommentare
Neuester Kommentar
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