Spreadsheet Gruppierungen öffnen wenn Bedingung erfüllt
#1
Hallo,
ich habe mir eine Excel Vorlage geschrieben. Die Vorlage enthält Gruppierte Zeilen welche beim öffnen der Vorlage eingeklappt sind.
Ich hätte aber gerne die Funktion das die Gruppierungen in einem Sheet ausgeklappt werden sobald eines von mehreren Feldern ausgewählt/angeklickt/eine bedingung erfüllt.
Mein letzter Versuch war der das ich Eine Macro geschrieben habe die alles aufklappt und eine die alles zuklappt. Ich habe eine Zeile mit Feldern in denen mittels Drop Down TRUE oder FALSE ausgewählt werden kann.
In einem anderen Feld zähle ich wie oft TRUE vor kommt. Mein Plan war mittels =WENN() entweder die eine Makro auszuführen oder die andere. Jedoch habe ich das nicht hin bekommen. Gibt es eine einfacher Möglichkeit ein automatisches aufklappen zu erhalten wenn bedingungen erfüllt werden. Was die bedingungen sein sollen bin ich relativ flexibel. Es geht mehr darum eine Ja/Nein Option für mehrere Spalten zur Verfügung zu stellen und sobald einmal ja ist oder nicht alles nen ist sollen alles auf dem Sheet aufgeklappt werden. 

Wenn mir jemand damit helfen kann, wäre es super. Entweder wie ich meine Makros zum laufen bringe oder wie ich das Problem ohne Macros lösen kann.
lg Spread Berry
Antworten Top
#2
Hallo,

hier mal eine Idee, welche du noch auf deine Datei anpassen müsstest:

Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$P$1" Then

    For i = 17 To 129
    If Cells(6, i).Value = "0" Then Cells(6, i).EntireColumn.Hidden = True
    Next
   
    For i = 17 To 129
    If Cells(6, i).Value <> "0" Then Cells(6, i).EntireColumn.Hidden = False
    Next

End If

End Sub

Hinweise:
Spalte 17  = Spalte Q
Spalte 129 = Spalte DY
If Cells(6 = Zeile 6 --> Wenn Zelle den Wert 0 enthalten, wird die Spalte mittels Hidden ausgeblendet.


Du müsstest es noch auf Zeilen ändern und die Bezüge anpassen.

Beste Grüße
Antworten Top
#3
Hallo,
deine Idee hat sehr gut geklappt, ich habe mir mit Hilfe deines Kommentars eine Makro geschrieben die die gewünschte Funktion erfüllt, vielen dank dafür.
Es läuft derzeit so das ich 5 Sheets in der Arbeitsmappe habe und in einem Sechsten Sheet sind die ganzen Tabellen die im Hintergrund benötigt werden abgelegt.
Es wird immer nur in einem der 5 Sheets gearbeitet und im Hintergrund wird quasi überwacht ob sich die Bedingungen ändern. Wie kann ich es einrichten das sobald eine änderung eines wertes eintritt, mene Makro ausgeführt wird?
lg
Antworten Top
#4
Hallöchen,

a) im ws_change auch die Zellen überwachen, die dafür zuständig sind
b) ws_calculate nutzen, wobei das bei jeder Berechnung greift und nicht differenziert ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste