Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
436to440
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
436to440
436to440
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Gruppierungen mit VBA ansprechen

Gruppierungen mit VBA ansprechen
10.06.2004 11:33:12
der
HallO!
Kann ich angelegte Gruppierungen (Outlines) über VBA ansprechen. Wenn ich bspweise mit dem makrorecorder aufnehme, wie ich eine gruppierung zusammenfasse, bleibt der code des makros leer.
Geht das überhaupt nicht?
gruß
der alex

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

Betreff
Datum
Anwender
Anzeige
AW: Gruppierungen mit VBA ansprechen
kdosi
Hi Alex,
was meinst Du genau mit "angelegte Gruppierungen (Outlines)", was ist es? Gruss kdosi
AW: Gruppierungen mit VBA ansprechen
10.06.2004 19:55:10
Philipp
Hallo der Alex
Das Problem ist, dass der Makro-Recorder nicht alle Aktionen aufzeichnet:
- Wenn man auf eine "+" oder "-" Schaltfläche klickt, so wird dies nicht aufgezeichnet.
- Wenn man auf eine Ebenenschaltfläche (1, 2, etc.) klickt, wird korrekt aufgezeichnet.
- Wenn man den Menübefehl Daten/Gruppierung und Gliederung/Detail einblenden bzw. Detail ausblenden klickt, so wird zwar aufgezeichnet, wobei aber die aufgezeichnete Aktion einen Fehler enthält (mehr dazu weiter unten).
So kann man diese Probleme beheben:
Für das Ein- und Ausblenden von ganzen Ebenen gibt es die ShowLevels-Methode. Der Effekt ist der gleiche wie wenn man auf eine Ebenenschaltfläche im Gliederungsbereich klickt (diese Schaltflächen sind mit den Ziffern 1, 2, 3 etc. beschriftet).
Zeilen (Beispiel: Ebene 2 anzeigen):
ActiveSheet.Outline.ShowLevels RowLevels:=2
- oder -
ActiveSheet.Outline.ShowLevels 2
Spalten (Beispiel: Ebene 3 anzeigen):
ActiveSheet.Outline.ShowLevels ColumnLevels:=3
- oder -
ActiveSheet.Outline.ShowLevels , 3
Bei einzelnen Gruppen wird's schwieriger, weil es keine VBA-Methode gibt. Hier hilft jedoch ein Excel4-Makro mit der SHOW.DETAIL-Funktion.
Syntax:
SHOW.DETAIL(a,b,c[,d[,e]])
a = 1 oder 2: 1=Zeile, 2=Spalte
Gemäss MS kann man für dieses Argument auch den Wert 3 angeben.
Dadurch wird die Zeile/Spalte der aktiven Zelle verwendet und das
Argument "b" ignoriert. Das scheint jedoch nicht so richtig zu
funktionieren und sollte daher besser nicht benutzt werden.
b = Zeilen- bzw. Spaltennummer der Gruppierung
c = True oder False: True=Einblenden, False=Ausblenden
d = Wird nur bei Pivot-Tabellen verwendet. Daher dieses Argument
ganz weglassen.
e = Ein vom Makro-Recorder fälschlicherweise generierter Parameter.
Der Makro-Recorder erzeugt während der Makroaufzeichnung
einen fünften Parameter. Dieser Parameter muss von Hand entfernt
werden, da sonst das aufgezeichnete Makro nicht funktioniert! Das
ist offensichtlich ein Bug, da der Parameter weder in der Doku
erwähnt ist noch vom VBA-Editor akzeptiert wird. Wenn man diesen
Parameter nicht löscht, tritt bei Makroausführung der Laufzeitfehler
1004 "Zu viele Argumente" auf.
Beispiele:
Details von gruppierten Zeilen einblenden:
ExecuteExcel4Macro "SHOW.DETAIL(1,19,True)"
Details von gruppierten Zeilen ausblenden:
ExecuteExcel4Macro "SHOW.DETAIL(1,19,False)"
Details von gruppierten Spalten einblenden:
ExecuteExcel4Macro "SHOW.DETAIL(2,5,True)"
Details von gruppierten Spalten ausblenden:
ExecuteExcel4Macro "SHOW.DETAIL(2,5,False)"
Mit "ShowLevels" und "SHOW.DETAIL" lassen sich so alle Ebenen und Gruppierungen ein- oder ausblenden.
Gruss
Philipp von Wartburg
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige