ich bräuchte mal wieder eure Hilfe bei einem kleinen Projekt. Ich komponiere für Filme und habe eine Ideensammlung von ca. 150 fertigen Stücken. Um den Reggiseuren*innen den Zugriff zu erleichtern würde ich gerne eine Art Filterbare Excel Tabelle erstellen. Sprich, Links stehen meine Projekte "LB105" mit den Attributen (diese sind jeweils mit einem x gekennzeichnet). Nun sollen nur diejenigen Projekte angezeigt werden, bei denen man oben "AUSWAHL" ein X rein schreibt. Es soll gerne auch eine Mehrauswahl möglich sein, wie z.B. "Experimental" + "Inspring" + "Fantasy" + "Orchestral" + "Piano", sprich auch Attribute innerhalb einer Gruppe sollen kombinierbar sein.
Ich hoffe ich konnte das einigermaßen sinnvoll erklären.
18.01.2020, 13:21 (Dieser Beitrag wurde zuletzt bearbeitet: 18.01.2020, 13:21 von echo.)
Hallo ich würde eine Hilfsspalte anlegen die die Überschrift mit den Zeilen vergleicht und die passenden Zeilen markiert Hier einen Autofilter auf [ ] 0 (ohne 0) eingestellt und du hast deine gefilterte Liste. Gruß Holger
Ich bin da eigentlich auch nicht der richtige was Makros angeht. aber nun Gut, Ich habe das Makro einfach mal rein kopiert. Und wenn sowieso Makros vorhanden sind, kann man das setzen / ausschalten des Filters natürlich auch damit machen. So etwas lässt sich per Makro-Rekorder aufzechen.
19.01.2020, 10:41 (Dieser Beitrag wurde zuletzt bearbeitet: 19.01.2020, 10:41 von marose67.)
Hallo,
Bei diesem Beispiel wird eine Zelle, in einem Bereich, mit einem Rechtsklick "x" hinterlegt und mit einem Doppelklick (links) wieder aufgehoben.
Zitat:
OptionExplicitPrivateSub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel AsBoolean)
Dim Bereich As Range
Dim cell As Range
Application.ScreenUpdating = FalseSet Bereich = Range("B3:BE3")
IfNot Intersect(Target, Range("B3:BE3")) IsNothingThenForEach cell In Bereich
Target = "x"
Cancel = TrueNextEndIf
Application.ScreenUpdating = TrueEndSubPrivateSub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel AsBoolean)
Dim Bereich As Range
Dim cell As Range
Application.ScreenUpdating = FalseSet Bereich = Range("B3:BE3")
IfNot Intersect(Target, Range("B3:BE3")) IsNothingThenForEach cell In Bereich
Target = ""
Cancel = TrueNextEndIf
Application.ScreenUpdating = TrueEndSub
Gruß Marcus
Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen. Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
so was würde bei dem Aufbau nur nacheinander gehen oder per Makro. Ohne Makro müssten die Begriffe in einer Spalte stehen und Du nimmst den Autofilter. Oder Du bastelst Dir eine Formel. Du schreibst die Auswahlbegriffe irgendwo hin und prüfst mit der Formel, ob in einer Zeile einer der Auswahlbegriffe ein x hat. Dann könntest Du auf Basis dieser Spalte filtern. Formelansätze wären z.B. mit SUMMENPRODUKT, INDEX+VERGLEICH usw. möglich. Es sollte jedoch nur eine begrenzte Anzahl Auswahlbegriffe sein.
Mit Makro könntest Du beide Spalten prüfen und wenn in keiner der Spalten kein x steht diese dann ausblenden. Auch hierfür müsstest Du die Auswahlbegriffe entweder irgendwohin schreiben oder DU markierst vor Ausführung des Makros die entsprechenden Spalten.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)