Microsoft Excel

Herbers Excel/VBA-Archiv

bedingtes Auswahlfeld

Betrifft: bedingtes Auswahlfeld von: Janni
Geschrieben am: 13.08.2004 10:20:03

Hallo,

ich möchte in meheren Auswahlfeldern eine Abhängigkeit schaffen.
Also abhängig von der (Drop-Down) Auswahl in Feld eins (Daten/Gültigkeit/Liste) soll im nächsten Feld nur eine bestimmte Auswahl Möglich sein.

Bsp: Auswahl Feld 1 (a,b,c)
Auswahl Feld 2 (wenn Feld 1=a - aa,ab,ac; wenn Feld 1=b - ba,bb,bc....)

Habt Ihr eine Idee ?

Danke im Vorraus!

  


Betrifft: AW: bedingtes Auswahlfeld von: ANdreas
Geschrieben am: 13.08.2004 10:54:35

Hallo Janni,

es geht, aber etwas anders.
Also in der Gültigkeit/Liste verweist Du wie gehabt auf die gewünschte Liste (z.B. F1:F10")
In diesen Zellen stehen allerdings nicht die Werte sondern Formeln.
Diese Formeln beziehen sich je nach Werten aus dem 1. Feld, Werte aus entsprechenden Spalten.

Also in A1 wird a, b oder c eingetragen.
Dann steht in F1 z.B. die Formel:
=WENN(A1="a";G1;WENN(A1="b";H1;I1))
Die Formel kopierst Du runter bis F10.
Als Gültigkeit/Liste nimmst Du dann in A2, einfach den Bereich F1:F10. Die Werte dort ändern sich dank der Formel in Abhängigkeit des Wertes in A1.

Somit werden die Werte für die 2. Liste durch Formel aus anderen Spalten bezogen.
Hoffe das hilft weiter,
Andreas


  


Betrifft: AW: bedingtes Auswahlfeld von: Dr.
Geschrieben am: 13.08.2004 11:00:44

Hi Andreas,

ist es da nicht eleganter, abhängige Namensfelder zu verwenden und in der Liste jeweils mit INDIREKT Bezug zu nehmen?

Ich such grad mal nen link dazu raus - das ist ne ganz geschmeidige Vorgehensweise.


  


Betrifft: AW: bedingtes Auswahlfeld von: Dr.
Geschrieben am: 13.08.2004 11:05:33

Hab Dir mal den Text kopiert:

Dropdown-Felder in Zellen miteinander verknüpfen
Versionen: Excel 97, 2000 und 2002

FRAGE: Ich habe mit dem Befehl Daten-Gültigkeit eine Dropdown-Liste angelegt, damit Benutzer der Tabelle problemlos die zulässigen Werte auswählen können. Jetzt möchte ich eine zweite Dropdown-Liste einrichten, deren Inhalte von der Auswahl in der ersten Zelle abhängig sein sollen. Wie schaffe ich es, dass die Dropdown-Liste nicht nur statische Einträge enthält, sondern dynamisch mit dem anderen Dropdown-Feld verknüpft ist?
W. Holzbrink

ANTWORT: Da die von Ihnen beschriebene Funktion vielleicht nicht allen Lesern bekannt ist, zunächst ein kurzer Überblick: Mit dem Befehl Daten-Gültigkeit können Sie nicht nur generell die Benutzereingaben überprüfen und gegebenenfalls eine Fehlermeldung ausgeben lassen. Darüber hinaus können Sie eine Dropdown-Liste in einer Zelle einrichten, ohne dafür irgendwelche Formularfelder oder Steuerelemente einbetten zu müssen. Sobald Sie die Zelle aktivieren, blendet Excel einen Dropdown-Pfeil ein, mit dem Sie den Zellwert bequem aus einer Liste auswählen können.

Sie definieren eine solche Dropdown-Liste, indem Sie die Eingabezelle markieren und dann Daten-Gültigkeit aufrufen. Auf der Registerkarte Einstellungen wählen Sie unter Zulassen den Eintrag "Liste" aus. Nun geben Sie im Feld Quelle entweder eine durch Semikolons getrennte Werteliste (z. B. "Blau;Gelb;Grün") oder die Adresse eines Tabellenbereichs (z. B. "=$A$1:$A$3") ein. Der Tabellenbereich muss die Werte enthalten, die in der Dropdown-Liste erscheinen sollen.

Nun zu dem von Ihnen geschilderten Problem mit zwei verknüpften Dropdown-Listen. Die Lösung besteht darin, anstelle von statischen Wertelisten oder Zelladressen mit benannten Bereichen zu arbeiten. Excel wertet Namen wie normale Tabellenbereiche aus, die Sie mit Spaltenbuchstaben und Zeilennummern angeben. Excel geht sogar noch einen Schritt weiter: Als Quelle einer Dropdown-Liste akzeptiert Excel auch eine Formel, die den Namen eines benannten Bereichs zurückgibt. So ist es nur noch ein kleiner Sprung bis zur fertigen Verknüpfung der beiden Dropdown-Listen. Hier die Vorgehensweise im Detail:


Geben Sie die Werte ein, die in den Dropdown-Feldern erscheinen sollen. Angenommen etwa, Sie wollten zuerst ein Land auswählen und dann in Abhängigkeit davon eine Stadt aus dem betreffenden Land. Geben Sie dafür zum Beispiel "Deutschland", "Frankreich" und "Italien" in die Zellen A1:A3 eines Tabellenblatts ein. In den Bereich B1:B3 tragen Sie Orte aus Deutschland ein - beispielsweise "Hamburg", "Berlin", "München". Ebenso verfahren Sie mit den französischen und italienischen Städten, die Sie in C1:C3 bzw. D1:D3 eingeben. Suchen Sie sich irgendwelche Beispielorte aus.

Weisen Sie den einzelnen Bereichen Namen zu (Befehl Einfügen-Namen-Festlegen (Excel 97) oder Einfügen-Name(n)-Definieren (Excel 2000/2002)). Wie Sie die Liste für das erste Dropdown-Feld benennen, ist relativ egal; geben Sie dem Bereich A1:A3 zum Beispiel den Namen "Staaten". Wichtig ist die Namensgebung der abhängigen Bereiche! Die Namen müssen exakt mit den vorgesehenen Listeneinträgen übereinstimmen - hier also "Deutschland", "Frankreich" sowie "Italien".

Setzen Sie den Cursor in die Zelle, in der die erste Dropdown-Liste zur Länderauswahl erscheinen soll. Hier könnte das beispielsweise Zelle A5 auf demselben Tabellenblatt sein.

Wählen Sie Daten-Gültigkeit an und aktivieren Sie auf der Registerkarte Einstellungen im Feld Zulassen den Eintrag "Liste".

Geben Sie im Feld Quelle einen Bezug in der folgenden Form ein:

=ErsterBereichsname


Im Beispiel müssen Sie also "=Staaten" eingeben.

Achten Sie darauf, dass das Kontrollkästchen Zellendropdown aktiviert ist und bestätigen Sie die Einstellungen mit Ok.

Setzen Sie den Cursor in die Zelle, in der das verknüpfte Dropdown-Feld erscheinen soll; hier etwa Zelle B5.

Rufen Sie erneut Daten-Gültigkeit auf und stellen Sie wie in Schritt 4 das Listenformat ein.

Als Quelle tragen Sie jetzt aber keinen Bereichsnamen ein, sondern eine Formel nach folgendem Muster:

=INDIREKT(VerknüpfteZelle)


Da sich die übergeordnete Dropdown-Liste des Beispiels in Zelle A5 befindet, müssen Sie in diesem Fall die Formel "=INDIREKT(A5)" eingeben.

Quittieren Sie die Änderungen mit Ok. Dass Excel daraufhin eine Fehlermeldung ausgibt, muss Sie nicht stören. Grund dafür ist, dass bislang noch kein Land ausgewählt wurde. Fahren Sie einfach mit Ja fort.

Damit haben Sie die Verknüpfung eingerichtet. Probieren Sie es aus, indem Sie ein Land aus der Dropdown-Liste in Zelle A5 auswählen. Sobald Sie den Cursor in B5 setzen und per Dropdown-Pfeil die zugehörige Gültigkeitsliste öffnen, werden Sie feststellen, dass nur noch Städte aus dem betreffenden Land auftauchen.


Quelle: SmartTools Excel Weekly vom 14.2.2003


  


Betrifft: AW: bedingtes Auswahlfeld von: Janni
Geschrieben am: 13.08.2004 12:08:24

Vielen Dank !

Hat wunderbar geklappt !


  


Betrifft: AW: bedingtes Auswahlfeld-Problem von: Janni
Geschrieben am: 13.08.2004 12:25:00

Allerdings...

Wie kann ich verhindern, dass ich, wenn ich alle Auswahlfelder mit den richtigen "Unterkategorien" augewählt habe...

Dann das erste Auswahlfeld ändere, bleibt bei den anderen Zellen die alte Zuordnung bestehen.


  


Betrifft: 2. Dropdown leeren nach Neuauswahl beim 1. von: Beate Schmitz
Geschrieben am: 15.08.2004 23:08:32

Hallo Janni,

angenommen, dein erstes Auswahlfeld ist G4 und das zweite G6, dann wird G6 nach Neuauswahl von G4 mit der Aufforderung gefüllt: "Hier neu auswählen!". Füge das Makro ins Codefenster der Tabelle und passe die Zellen an.


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$G$4" Then
    Range("$G$6").FormulaR1C1 = "Hier neu auswählen!"
End If
End Sub


Gruß,
Beate