Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: Ninchen am März 04, 2016, 12:09:11 Nachmittag
-
Hallo liebe Excel-Experten,
ich habe eine Arbeitsmappe in Excel 2013 mit mehreren manuell angelegten Gruppierungen auf erster und zweiter Ebene.
Ich möchte nun über Buttons die einzelnen Gruppierungen auf-/zuklappen.
- Klick auf Button 1 klappt Gruppierung 1 auf Ebene 1 aus.
- Klick auf Button 2 klappt Gruppierung 2 auf Ebene 1 aus.
- und so weiter.
Idealerweise löst ein zweiter Klick auf den Button aus, dass die entsprechende Gruppe wieder eingeklappt wird.
Es ist wichtig, dass das Makro sich auf die Gruppierung bezieht, da ggf. noch Zeilen in der Gruppierung dazukommen, oder gelöscht werden (normales ein-/ausblenden ist daher ungeeignet, da es sich auf einen spezifischen Zeilenraum bezieht).
Ich habe schon Makros gefunden, die aber nur alle Gruppen auf Ebene 1 aus-/zuklappen.
Ein Aufzeichnen des Makros hat leider auch nicht funktioniert.
Vielen Dank schon einmal!
-
Moin,
Ein Aufzeichnen des Makros hat leider auch nicht funktioniert.
Ähmm, genau das wollte ich dir vorschlagen. Aber diese Aussage ist so nichssagend, dass ich nichts dazu sagen kann. Was hat da "nicht funktioniert?" Und eine Musterdatei könnte auch nicht schaden ...
-
Hallo.
also: ich habe das Makro aufgezeichnet einmal über Ausklappen der Gruppe mit dem "+" und einmal über "Daten" => "Gliederung" => "Details anzeigen".
In beiden Fällen ist dies das Ergebnis:
Sub Ausklappen()
'
' Ausklappen Makro
'
'
End Sub
Ich habe dir eine ganz einfache Beispieldatei angehängt.
Ziel ist es wie gesagt, dass man durch Klick auf den Button auswählen kann, welche der Gruppen auf der ersten Ebene gerade angezeigt wird.
Also nicht einfach nur die erste/zweite Ebene einblenden, sondern spezifisch z.B. Gruppierung "Überschrift 1" und "Überschrift 3"
Und da sich durchaus die Anzahl der Zeilen darunter ändern kann, ist es mit einem "normalen" ein-/ausblenden ohne Gruppierung leider nicht getan, da sich dieses auf die Zeilennummern bezieht und nicht auf die Gruppierungen.
Hoffe du/ihr könnt mir da weiterhelfen.
Vielen Dank schon einmal im Voraus!
-
Moin,
stimmt, einige der wenigen Aktionen, die vom Makrprecorder nicht aufgezeichnet werden.
Aber schau mal hier (http://www.herber.de/forum/archiv/436to440/439721_Gruppierungen_mit_VBA_ansprechen.html) nach, das könnte dir weiter helfen. Und wenn du (wie ich auch) bei Mr. Goo VBA Gliederung eingibst, dann kommen noch mehr Stellen, welche dir helfen können.
-
Guten Morgen,
konnten das Problem jetzt lösen, indem wir die Zeile eindeutig benennen, ab der ein-/ ausgeblendet werden muss:
Der Code schaut dann so aus (für alle die etwas ähnliches machen wollen):
Private Sub ToggleButton1_Click()
'Vorbereitung
Dim strStart As Long
Dim strEnde As Long
strStart = Worksheets("Dropdown").Cells(5, 13).Value + 1
strEnde = Worksheets("Dropdown").Cells(6, 13).Value - 2
If Me.ToggleButton1.Value = True Then
ActiveSheet.Unprotect
Rows(strStart & ":" & strEnde).EntireRow.Hidden = False
ActiveSheet.Protect
Else
ActiveSheet.Unprotect
Rows(strStart & ":" & strEnde).EntireRow.Hidden = True
ActiveSheet.Protect
End If
End Sub
'=======================================================