VBA -> Gruppierung mittels Liste
12.05.2024 15:53:59
Götz
ich habe ien kleines Problem ich möchte aus einer Liste von Überschriften die entsprechenden Spalten ausblenden leider fehlt mir der Weg wie man aus den Feldern den enstsprechenden Spaltenzeile ermittelt und übernimmt.
sub GruppierungAktualisieren()
Dim wsA As Worksheet
Dim wsB As Worksheet
Dim rngListe As Range
Dim spalte As Range
' Referenz auf die Arbeitsblätter setzen
Set wsA = ThisWorkbook.Sheets("Tabelle1")
Set wsB = ThisWorkbook.Sheets("Tool")
' Überprüfen, ob eine Gruppierung existiert, bevor sie entfernt wird
If wsA.Columns("A:X").OutlineLevel > 1 Then
wsA.Columns("A:X").Ungroup
End If
' Liste der zu gruppierenden Spalten auf Arbeitsblatt B
Set rngListe = wsB.Range("Gruppierung")
' Gruppierung sollte der Bereich sein, der die Spaltennamen enthält
' Gruppierung für jede Spalte in der Liste durchführen
For Each spalte In rngListe
If Not IsEmpty(spalte.Value) Then
' wsA.Range(spalte.Value & ":" & spalte.Value).EntireColumn.Group
wsA.Range("E:E").EntireColumn.Group
End If
Next spalte
End Sub
' Ereignisprozedur für Arbeitsblatt B
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("Gruppierung")) Is Nothing Then
Call GruppierungAktualisieren
End If
End Sub
Ich würde mich freuen wenn jemand mir helfen könnte.
Götz
https://www.herber.de/bbs/user/169401.zip
Anzeige