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

Gruppierungen per Makro öffnen und schliessen

Forumthread: Gruppierungen per Makro öffnen und schliessen

Gruppierungen per Makro öffnen und schliessen
14.03.2006 10:02:28
steph@n
Hallo Zusammen,
ich habe ein Ergebnisrechnungsschema, dass über mehrere 100 Zeile lang ist. Im Ergebnisrechnungsschema befinden sich auch Zwischensummen, die z.T. über mehrer Ebenen verschachtelt sind. Zum Befüllen des Schemas mit Daten benötige ich den kompletten Aufriss. Für das spätere Reporting, sollen nur die wesentlichen Zeilen angezeigt werden. Wie kann ich per VBA den Komplettaufriss bzw. das Zusammenfahren auf die wichtigen Zeilen erreichen. Es muss über Gruppierung laufen und nicht über Zeilen ein- und ausblenden, um eine Analyse durch den Berichtsempfänger zu ermöglichen.
Beispiel:
1.) Zeilen 1 - 3 sind gruppiert (Ebene1) Zeile 4 zeigt Zwischensumme 1 - 3
2.) Zeilen 5 - 8 sind gruppiert (Ebene1) Zeile 9 zeigt Zwischensumme 5 - 8
3.) Zeilen 1 - 9 sind gruppiert (Ebene2) Zeile 10 zeigt Summe 4 und 9
Für Reporting sollen die Gruppierungen 1.) und 3.) extrahiert bleiben und nur Gruppierung 2.) komprimiert werden.
Wie kriegt man das per VBA hin, oder geht das vielleicht gar nicht?
Vielen Dank für Eure Hilfe
Gruss Stephan
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gruppierungen per Makro öffnen und schliessen
14.03.2006 19:43:35
MichaV
Hallo,
ist das Problem das Ein- und Ausklappen der Gruppierungen per VBA?
Dann zeichne das per Makro auf, nimm aber zum Klappen nicht die Maus sondern den Menüpunkt "Details einblenden" oder "ausblenden". Dann gucke den Makro- Code. Zum Excel-4-Makro:
SHOW.DETAIL
Expands or collapses the detail under the specified expand or collapse button.
Syntax
SHOW.DETAIL(rowcol, rowcol_num, expand, show_field)
Rowcol is a number that specifies whether to operate on rows or columns of data.
Rowcol Operates on
1 Rows
2 Columns
3 The current cell's row or column. The second argument, rowcol_num, is then ignored.
Rowcol_num is a number that specifies the row or column to expand or collapse. If you are in A1 mode, you must still give the column as a number. If rowcol_num is not a summary row or column, SHOW.DETAIL returns the #VALUE! error value and interrupts the macro.
Expand is a logical value that specifies whether to expand or collapse the detail under the row or column. If expand is TRUE, Microsoft Excel expands the detail under the row or column; if FALSE, it collapses the detail under the row or column. If expand is omitted, the detail is expanded if it is currently collapsed and collapsed if it is currently expanded.
Show_Field is a string specifying the name of the field to add to a PivotTable, if the selection is inside a PivotTable. The new field is added as the new innermost field. Available for only innermost row or column fields.
Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige
AW: Gruppierungen per Makro öffnen und schliessen
15.03.2006 16:57:23
steph@n
Hallo Micha,
das klappt super. Jetzt werde ich es dem Härtetest unterziehen und auf meine Riesen-Ergebnisrechnung anwenden.
Vielen Dank für Deine Hilfe.
Gruss Stephan
;
Anzeige
Anzeige

Infobox / Tutorial

Gruppierungen per Makro öffnen und schließen


Schritt-für-Schritt-Anleitung

  1. Makro aufzeichnen:

    • Gehe zu „Entwicklertools“ und wähle „Makro aufzeichnen“.
    • Führe die Aktion „Details einblenden“ oder „ausblenden“ manuell aus, um das Ein- und Ausklappen der Gruppierungen zu simulieren.
    • Stoppe die Aufzeichnung des Makros.
  2. Makro anpassen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Suche das aufgezeichnete Makro in „Module“.
    • Ändere den Code, um die Funktion SHOW.DETAIL zu verwenden.

    Beispielcode für das Aufklappen von Gruppierungen:

    Sub GruppierungAufklappen()
       SHOW.DETAIL 1, 1, True, ""
    End Sub
  3. Makro ausführen:

    • Gehe zurück zu Excel und führe das Makro aus, um die gewünschten Gruppierungen aufzuklappen.

Häufige Fehler und Lösungen

  • Fehler: #VALUE! beim Ausführen des Makros

    • Lösung: Stelle sicher, dass die angegebene Zeile oder Spalte tatsächlich eine Gruppierung ist und dass Du die richtige rowcol_num verwendest.
  • Fehler: Gruppierung wird nicht angezeigt

    • Lösung: Prüfe, ob die Gruppierungen korrekt erstellt wurden. Manchmal kann ein Fehler beim Gruppieren selbst auftreten.

Alternative Methoden

Falls Du kein VBA verwenden möchtest, kannst Du auch die integrierten Excel-Funktionen nutzen:

  • Manuelles Ein- und Ausklappen:

    • Klicke auf die kleinen Plus- oder Minuszeichen am Rand der Zeilen oder Spalten.
  • Alle Gruppierungen auf einmal:

    • Gehe zu „Daten“ > „Gliederung“ und wähle „Alle ausblenden“ oder „Alle einblenden“.

Praktische Beispiele

Angenommen, Du hast eine Liste von Verkaufszahlen, die in mehreren Ebenen gruppiert sind. Um alle Gruppierungen auf einmal aufzuklappen, kannst Du folgenden VBA-Code verwenden:

Sub AlleGruppierungenAufklappen()
   Dim i As Long
   For i = 1 To ActiveSheet.Rows.Count
       If Rows(i).OutlineLevel > 1 Then
           SHOW.DETAIL i, 1, True, ""
       End If
   Next i
End Sub

Dieser Code durchläuft alle Zeilen und klappt gruppierte Zeilen mit einem bestimmten „OutlineLevel“ auf.


Tipps für Profis

  • Beschleunige deine Makros: Verwende die Option Application.ScreenUpdating = False am Anfang des Makros, um die Ausführung zu beschleunigen und Flackern zu vermeiden.
  • Fehlerbehandlung: Füge Error-Handling in deinen VBA-Code ein, um unerwartete Fehler abzufangen und den Code robuster zu machen.
  • Verwende benannte Bereiche: Dies kann das Verwalten von Daten und Gruppen erleichtern, insbesondere in großen Tabellen.

FAQ: Häufige Fragen

1. Wie kann ich alle Gruppierungen in einem Arbeitsblatt zuklappen? Du kannst ein einfaches Makro verwenden, das die SHOW.DETAIL Funktion mit False aufruft, um alle Gruppierungen zu schließen.

2. Ist es möglich, nur bestimmte Gruppierungen einzuklappen? Ja, Du kannst die rowcol_num in der SHOW.DETAIL Funktion anpassen, um nur die gewünschte Gruppierung zu beeinflussen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige