Clever-Excel-Forum

Normale Version: Drop Down Liste mit Wenn Bedingung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen

ich benötige Eure Hilfe zu Folgendem:

Ich habe eine Drop Downliste mit Produktauswahl 1,2,3,4,5
Darunter habe ich eine Drop Down Auswahl an Zubuchoptionen A,B, oder C

Diese Zubuchoption Liste soll aber nur aktiviert werden. wenn vorher Produkt 1,2 oder 3 gewählt wurde. Bei allen anderen Produkten soll das Feld leer bleiben oder eine Meldung a la "keine Zubuchoption verfügbar" stehen.

Gibt es so eine Funktion? Letztendlich ist es ja eine Wenn Bedingung, wie lautet diese und wo trage ich diese ein?

Ich hoffe das war verständlich erklärt und ihr könnt mir helfen! :)
Moin,

gib mal in unser Suchfeld 'abhängige DropDowns' oder 'dynamische Dropdowns' ein. Wenn ich deine Anfrage richtig verstanden habe, müssten dir die Beiräge weiterhelfen. Falls nicht, lade bitte eine Beispieldatei mit händisch eingetragenen Wunschergebnissen hoch. https://www.clever-excel-forum.de/thread-326.html
Hi Günter,

danke für die Hinweise.
Ich habe mir mehrere Beispiele angesehen, komme bei meiner eigenen Tabelle dennoch nicht weiter Blush

Ich füge mal ein Beispieltabelle in den Anhang.

In B4 soll nur dann ein DropDown erscheinen (mit den Optionen OPt 1-3) wenn in B3 der Tarif T1, T2 oder T3 ausgewählt wurde. Bei T4 und T5 gibt es keine Zubuchoption, Dropdown soll entsprechend deaktiviert/leer sein.

Also nochmal kurz:
Wenn B3 = T1, T2, T3 dann B4 = Dropdown mit Option 1,2,3, ansonsten B4 LEER (oder Hinweis "keine Opton verfügbar")

Ist bestimmt ganz einfach Big Grin
Katha
Hallo kk4u,

Code ins Modul der Tabelle1(kalkulator)
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B2")) Is Nothing Then
        If Cells(2, 2) = "P1" Or Cells(2, 2) = "P2" Or Cells(2, 2) = "P3" Then
            Call Dropdown1
            Call Dropdown2
        Else
            DropdownDelete
            Cells(3, 2).ClearContents
            Cells(4, 2).ClearContents
        End If
    End If
End Sub

Sub Dropdown1()
    Sheets("kalkulator").Range("B3").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=quelle!$D$2:$D$6"
    End With
End Sub

Sub Dropdown2()
    Sheets("kalkulator").Range("B4").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=quelle!$H$2:$H$4"
    End With
End Sub

Sub DropdownDelete()
    Sheets("kalkulator").Range("B3").Validation.Delete
    Sheets("kalkulator").Range("B4").Validation.Delete
End Sub
das sollte reichen.

Gruß Uwe
Hallo Katha,

man kann bei der Datenüberprüfung (=> zulassen => Liste) bei "Quelle" nicht nur einen fixen Zellbereich eingeben, sondern auch eine Formel, die einen Zellbereich liefert.
Z.B. so:
=WENN(ODER($B$3="T1";$B$3="T2";$B$3="T3");quelle!$H$2:$H$4)

Allerdings ist das so noch nicht sehr flexibel, denn hier sind die Tarife T1, T2, T3 fest in der Formel eingetragen.

Alternative:
Leg dir auf dem Tabellenblatt "Quelle" ein Hilfstabelle an (z.B. in Spalte M), in der du alle Tarife, für die eine Zubuchoption möglich ist, auflistest.
Und verwende dann im Dropdown folgende Formel:
=WENN(ZÄHLENWENN(quelle!$M$2:$M$4;kalkulator!$B$3);quelle!$H$2:$H$4;quelle!$N$1)
Hier wird geprüft, ob der in B3 eingetragene Tarif in der Hilfstabelle auf dem Tabellenblatt "Quelle" vorhanden ist.

Siehe angehängte Beispieldatei

Gruß
Fred
Hallo Fred,

vielen, vielen dank!!
Es hat funktioniert und ich konnte es auch für einige Erweiterungen nutzen.
Bin eigentlich eher ein Bilder/PowerPoint Mensch, lerne aber im Moment vielen in Excel dazu! Thumps_up

Habe noch ein Thema, siehe Frage im Anhang. Wäre toll, wenn hierzu auch du oder jemand anders helfen kann 19

Zu jedem Tarif können 10 Optionen gebucht werden.
Was gebe ich in F4 ein damit eine Liste 1 zu 10 erscheint?
Beispiel: Wenn F3 Menge = 1, dann soll in F4 eine Liste 0 bis 10 erscheinen, bei F3 = Menge 2, dann in F4 entsprechend eine Liste 0-20 usw…

[attachment=39344]
Formel für Dropdown in F4:
=BEREICH.VERSCHIEBEN(quelle!$G$2;0;0;$F$3*10+1)

Gruß
Fred
Perfekt danke! 19
(06.07.2021, 20:53)Fred11 schrieb: [ -> ]Hallo Katha,

man kann bei der Datenüberprüfung (=> zulassen => Liste) bei "Quelle" nicht nur einen fixen Zellbereich eingeben, sondern auch eine Formel, die einen Zellbereich liefert.
Z.B. so:
=WENN(ODER($B$3="T1";$B$3="T2";$B$3="T3");quelle!$H$2:$H$4)

Allerdings ist das so noch nicht sehr flexibel, denn hier sind die Tarife T1, T2, T3 fest in der Formel eingetragen.

Alternative:
Leg dir auf dem Tabellenblatt "Quelle" ein Hilfstabelle an (z.B. in Spalte M), in der du alle Tarife, für die eine Zubuchoption möglich ist, auflistest.
Und verwende dann im Dropdown folgende Formel:
=WENN(ZÄHLENWENN(quelle!$M$2:$M$4;kalkulator!$B$3);quelle!$H$2:$H$4;quelle!$N$1)
Hier wird geprüft, ob der in B3 eingetragene Tarif in der Hilfstabelle auf dem Tabellenblatt "Quelle" vorhanden ist.

Siehe angehängte Beispieldatei

Gruß
Fred


Hallo Fred,

ich habe nochmal eine Frage zu der Formel bzw. der Ansicht des Ergebnisses.
Wenn ich die Formeln so eingebe wie von dir beschrieben, passt es soweit.

Ich habe nur das Problem, dass wenn man nicht konkret auf das DropDown Klickt, verändert sich auch nichts automatisch.

Beispiel: In Zelle B3 ist T1 gewählt. In Zelle B4 erscheinen dann die 3 Optionen, ich wähle Opt1. So weit, so gut.
Wenn ich nun in Zelle B3 T4 wähle, bleibt in Zelle B4 die Opt1 mit Preisen stehen, das ist so ja falsch. Kann man das automatisieren, sodass in zelle B4 direkt in "-" angezeigt wird, ohne dass man erst das DropDown in Zelle B4 anklicken muss?
Hallo kk4u,

Zitat:Kann man das automatisieren ...

ja, das geht - aber nur mit VBA

Siehe hier:
Link entfernt - enthält Werbung

....oder siehe Beitrag #4

Gruß
Fred