Herbers Excel-Forum - das Archiv

Makro für Gliederung

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Makro für Gliederung
von: Thomas R.

Geschrieben am: 15.12.2006 13:36:52
Hallo,
ich wollte mir eine Schaltfläche mit einem Makro belegen, welches eine Gliederung öffnet.
Ich habe hierzu 4 Gliederungen und 4 CommandButtons angelegt, nun soll nach betätigen eines CommandButtons entweder die entsprechende Gliederung aufgeklappt, oder wenn bereits offen, geschlossen werden. Leider nimmt der Makrorecorder diese Funktion nicht an.
Könnt ihr mir weiterhelfen?
MfG aus Berlin
Thomas R.
Bild

Betrifft: AW: Makro für Gliederung
von: fcs

Geschrieben am: 15.12.2006 16:00:40
Hallo Thomas,
ich habe via Menü Daten-GruppierungGliederung-Detailseinblenden/Detailsausblenden Makro-Code aufgezeichnet.
Dieser Code funktionierte dann aber auch nicht. Nachdem ich den letzten Parameter glöscht hab läuft das Ein-/Ausblenden von Zeilen bzw. Spalten. Je nachdem ob die Detaildaten, die ein-/ausgeblendet werden sollen ober- oder unterhalb bzw. links oder rechts der Haupt-/Summenzeile bzw. -spalte stehen muss die entsprechende If-Anweisung verwendet werden.
Sub GliederungZeileEinAus()
Range("B8").Select 'Zelle in Summenzeile, deren Details ein-/Ausgeblendet werden sollen
If Selection.Offset(-1, 0).EntireRow.Hidden = True Then 'Summenzeile steht unterhalb der Detaildaten
'    If Selection.Offset(1, 0).EntireRow.Hidden = True Then 'Summenzeile steht oberhalb der Detaildaten
Application.ExecuteExcel4Macro "SHOW.DETAIL(1,7,TRUE,)"
Else
Application.ExecuteExcel4Macro "SHOW.DETAIL(1,7,FALSE,)"
End If
End Sub
Sub GliederungSpalteEinAus()
Range("G1").Select 'Zelle in Summenspalte, deren Details ein-/Ausgeblendet werden sollen
If Selection.Offset(0, -1).EntireColumn.Hidden = True Then 'Summenspalte steht rechts der Detaildaten
'    If Selection.Offset(0, 1).EntireColumn.Hidden = True Then 'Summenspalte steht links der Detaildaten
Application.ExecuteExcel4Macro "SHOW.DETAIL(2,7,FALSE,)"
Else
Application.ExecuteExcel4Macro "SHOW.DETAIL(2,7,TRUE,)"
End If
End Sub

Gruß
Franz
 Bild