Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
924to928
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
924to928
924to928
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Outline.ShowLevels nur für Teilbereich festlegen

Outline.ShowLevels nur für Teilbereich festlegen
13.11.2007 10:53:22
Jochen
Hi VBA-Profis,
ich möchte gerne für einen Teil der Spalten meiner Excelliste die Gruppierungen per Makro zurücksetzen und habe dafür folgenden Code:
ActiveSheet.Range("A:" & letzte_kopier_Spalte).Outline.ShowLevels RowLevels:=0, ColumnLevels:=1
Für alle Spalten rechts von "letzte_kopier_Spalte" sollen die Gruppierungen so bleiben wie sie sind.
Hat jemand eine Idee, wie man das lösen könnte?
Vielen Dank und schöne Grüße,
Jo

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Gruppierung und Gliederung VBA programmieren
16.11.2007 13:06:00
Wolli
Gruppierung und Gliederung VBA programmieren
Hallo Jochen,
da habe ich mal geforscht. Es scheint sich folgendermaßen zu verhalten:
Über das Outline-Objekt können nur insgesamt die eingeblendeten Ebenen dargestellt werden. (Manuell: Klick auf die Zahlen in der Gliederungszeile/-spalte) Die einzelnen Ein- und Ausblendungen (Klick +/-) werden über "ShowDetail" als Eigenschaft der Zeile oder Spalte festgelegt. Das Outline-Level ist ebenfalls eine Eigenschaft jeder Zeile oder Spalte: Normalerweise 1, im Falle von Gliederungen höher.
Die ShowDetail-Eigenschaft kann stets abgefragt werden, sie kann jedoch nur festgelegt werden, wenn das Outline-Level der Zeile/Spalte größer als 1 ist.
Die Group-Methode macht meines Erachtens nichts anderes, als die Outline-Levels trickreich festzulegen.
Für dich würde das bedeuten: Für den ersten Teil der Gliederung alle Spalten auf Showdetail = True zu setzen und alle Folgespalten auf False, wobei natürlich nur die Spalten mit Outlinelevel > 1 berücksichtigt werden dürfen.
Ich versuch's mal:

Sub Gliederung_einstellen()
Dim letzte_kopier_Spalte As Long, _
spalte As Range
letzte_kopier_Spalte = 6
For Each spalte In ActiveSheet.UsedRange.Columns
If spalte.OutlineLevel > 1 Then
If spalte.Column 


Gruß, Wolli

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge