Gruppierte Excel-Dimensionsliste aus einer Word-Quelldatei mittels VBA erstellen | Teil 2 – Programmierung

Im zweiten und abschliessenden Teil dieser Beitragsserie sehen wir uns die Funktionsweise des Makros zur automatischen Gruppierung und Ebeneneinrückung im Detail an.

Der VBA-Code ist sehr einfach aufgebaut:

 

Sub Automatische_Ebenen_Gruppierung()

Dim RowMin As Variant
Dim RowCount As Integer
Dim RowNo As Integer
Dim LevelCurrent As Integer
Dim LevelMax As Variant
Dim ColumnIndent As Variant
Dim ColumnLevelinfo As Variant

RowCount = ActiveSheet.UsedRange.Rows.Count

On Error Resume Next

RowMin = Application.InputBox("Wählen Sie die erste zu gruppierende Zeile aus:",
"Automatische Gruppierung starten", Type:=1): If RowMin = "" Then Exit Sub

LevelMax = Application.InputBox("Wählen Sie die maximale vorkommende Ebenenanzahl:",
"Automatische Gruppierung starten", Type:=1): If LevelMax = "" Then Exit Sub

ColumnLevelinfo = Application.InputBox("Wählen Sie die Spalte mit der Ebenen-Information:",
"Automatische Gruppierung starten", Type:=2): If ColumnLevelinfo = "" Then Exit Sub

ColumnIndent = Application.InputBox("Wählen Sie die Spalte mit den einzurückenden Ebenen-Texten:",
"Automatische Gruppierung starten", Type:=2): If ColumnIndent = "" Then Exit Sub

For LevelCurrent = LevelMax To 2 Step -1

    For RowNo = RowMin To RowCount

        If Range(ColumnLevelinfo & RowNo) >= LevelCurrent Then
            Rows(RowNo & ":" & RowNo).Group
            Range(ColumnIndent & RowNo).IndentLevel = Range(ColumnLevelinfo & RowNo)
        End If

    Next RowNo

Next LevelCurrent

End Sub

 

Nach der Abfrage der vier Eingabeparameter werden in der äusseren Schleife die - in unserem Fall vier - Ebenen von der tiefsten bis zur zweiten (=vorletzten) Ebene durchlaufen. In der inneren Schleife werden alle Zeilen des relevanten Bereichs durchlaufen und so lange gruppiert bis die Ebeneninformation einer Zeile kleiner ist als die aktuelle Ebene aus der äusseren Schleife die gerade durchlaufen wird. Auf diese Weise werden die Gruppierungen und das Einrücken bewerkstelligt.

Über den Autor

Blog auf Feedly abonnieren

Kategorien

Verwandte Beiträge

Power BI Camp - Präsenztrainings in Wien und Nürnberg!

Dashboarding mit Power BI, DAX & Datenmodellierung und Power Query. Drei Einzelmodule oder als ganze Trainingswoche - für Einsteiger und Fortgeschrittene!

Termine 2022

Wien: (7./8. Februar 2022)
und 25.-28 April 2022
Nürnberg: (14./15. Februar 2022)
und 9.-12. Mai 2022

Jetzt buchen und Rabatt sichern.

Jetzt buchen!

Leave a Replay

Schreibe einen Kommentar

Kostenlos zum Newsletter anmelden

Ihre Anfrage

Schicken Sie uns Ihre Fragen und Anregungen!