Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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